Thread Subject: Problem with normalized histogram

Subject: Problem with normalized histogram

From: Mario Eduardo Villanueva

Date: 22 Mar, 2010 11:52:05

Message: 1 of 1

I have a matrix with different data (around 10k rows) obtained from image analysis, this data is in tab separated value files, i want to add some constraints in order to delete noisy/unused data. In order to achieve this I'm using the find function:

FILESLIST=dir(PATH);
RawData=[];

for i=4:length(FILESLIST);
    
    NAME=FILESLIST(i).name;
    FILENAME=strcat(NAME);
    FILE=strcat(PATH,FILENAME);
    % Read in File
    id= fopen(FILE);

    % Determine number of rows
    rownumber=countRows(id);

    %Get Data
    DATA=textread(FILE,'',-1,'delimiter','\t', ...
    'headerlines',1,'emptyvalue',NaN);
 
    [RowToDelete,Column]=find((DATA(:,2))<(20.0)); %criterion: area diameter less than 8
    DATA(RowToDelete,:)=[];
    
    [RowToDelete2,Column2]=find((DATA(:,4))<(0.80)); %criterion: circularity less than 0.8
    DATA(RowToDelete2,:)=[];
    

    RawData=vertcat(RawData,DATA);
    
    ROWNUMBERTOTAL=ROWNUMBERTOTAL+rownumber;

end;

%%%%% CONDITION DATA


COMPLETEDATA=RawData;


%%%%%
AREADIAMETER=2*sqrt(COMPLETEDATA(:,2)/(pi));
IQRAREA=iqr(AREADIAMETER);
hAREA=2*IQRAREA*(length(AREADIAMETER))^(-1/3);
NBINAREA=ceil((max(AREADIAMETER)-min(AREADIAMETER))/hAREA);

figure(1);
bar(hist(AREADIAMETER,NBINAREA)./sum(hist(AREADIAMETER,NBINAREA)),1);
title('Area derived Diameter distribution');

%%%

At this point my normalized histogram shows correctly (x axe from 8 to 40) but if I add a third constraint:

% [RowToDelete2,Column3]=find((DATA(:,2))>(500)); %criterion: area diameter greater than 40
% DATA(RowToDelete2,:)=[];

then my normalized histogram shows some values from 0 to 160 in the x axis, if i plot:

hist(AREADIAMETER,NBINAREA)

then it shows correctly.

Many Thanks,

by the way Im new to MATLAB so if you have some comments to improve my code are more than welcome.

Tags for this Thread

Add a New Tag:

Separated by commas
Ex.: root locus, bode

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

rssFeed for this Thread

Contact us at files@mathworks.com