- if (m_Verbose) std::cout<<"SD: ";
- std::cout<<statisticsFilter->GetSigma(label)<<std::endl;
-
- if (m_Verbose) std::cout<<"Variance: ";
- std::cout<<statisticsFilter->GetVariance(label)<<std::endl;
-
- if (m_Verbose) std::cout<<"Min: ";
- std::cout<<statisticsFilter->GetMinimum(label)<<std::endl;
-
- if (m_Verbose) std::cout<<"Max: ";
- std::cout<<statisticsFilter->GetMaximum(label)<<std::endl;
-
- if (m_Verbose) std::cout<<"Sum: ";
- std::cout<<statisticsFilter->GetSum(label)<<std::endl;
-
- if (m_Verbose) std::cout<<"Bounding box: ";
- for(unsigned int i =0; i <statisticsFilter->GetBoundingBox(label).size(); i++)
- std::cout<<statisticsFilter->GetBoundingBox(label)[i]<<" ";
- std::cout<<std::endl;
-
-
- // Histogram
- if (m_ArgsInfo.histogram_given)
- {
- if (m_Verbose) std::cout<<"Median: ";
- std::cout<<statisticsFilter->GetMedian(label)<<std::endl;
-
- typename StatisticsImageFilterType::HistogramPointer histogram =statisticsFilter->GetHistogram(label);
-
- // Screen
- if (m_Verbose) std::cout<<"Histogram: "<<std::endl;
- std::cout<<"# MinBin\tMidBin\tMaxBin\tFrequency"<<std::endl;
- for( int i =0; i <m_ArgsInfo.bins_arg; i++)
- std::cout<<histogram->GetBinMin(0,i)<<"\t"<<histogram->GetMeasurement(i,0)<<"\t"<<histogram->GetBinMax(0,i)<<"\t"<<histogram->GetFrequency(i)<<std::endl;
-
- // Add to the file
- std::ofstream histogramFile(m_ArgsInfo.histogram_arg);
- histogramFile<<"#Histogram: "<<std::endl;
- histogramFile<<"#MinBin\tMidBin\tMaxBin\tFrequency"<<std::endl;
- for( int i =0; i <m_ArgsInfo.bins_arg; i++)
- histogramFile<<histogram->GetBinMin(0,i)<<"\t"<<histogram->GetMeasurement(i,0)<<"\t"<<histogram->GetBinMax(0,i)<<"\t"<<histogram->GetFrequency(i)<<std::endl;
- }
+ for (unsigned int c=firstComponent; c<=lastComponent; c++) {
+ if (m_Verbose) std::cout << std::endl << "Processing channel " << c << std::endl;
+
+ input_adaptor->SelectNthElement(c);
+ input_adaptor->Update();
+
+ for (unsigned int k=0; k< numberOfLabels; k++) {
+ label=m_ArgsInfo.label_arg[k];
+
+ std::cout<<std::endl;
+ if (m_Verbose) std::cout<<"-------------"<<std::endl;
+ if (m_Verbose) std::cout<<"| Label: "<<label<<" |"<<std::endl;
+ if (m_Verbose) std::cout<<"-------------"<<std::endl;
+
+ // Histograms
+ if (m_ArgsInfo.histogram_given) {
+ statisticsFilter->SetUseHistograms(true);
+ statisticsFilter->SetHistogramParameters(m_ArgsInfo.bins_arg, m_ArgsInfo.lower_arg, m_ArgsInfo.upper_arg);
+ }
+ statisticsFilter->Update();
+
+ // Output
+ if (m_Verbose) std::cout<<"N° of pixels: ";
+ std::cout<<statisticsFilter->GetCount(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"Mean: ";
+ std::cout<<statisticsFilter->GetMean(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"SD: ";
+ std::cout<<statisticsFilter->GetSigma(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"Variance: ";
+ std::cout<<statisticsFilter->GetVariance(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"Min: ";
+ std::cout<<statisticsFilter->GetMinimum(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"Max: ";
+ std::cout<<statisticsFilter->GetMaximum(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"Sum: ";
+ std::cout<<statisticsFilter->GetSum(label)<<std::endl;
+
+ if (m_Verbose) std::cout<<"Bounding box: ";
+
+ for(unsigned int i =0; i <statisticsFilter->GetBoundingBox(label).size(); i++)
+ std::cout<<statisticsFilter->GetBoundingBox(label)[i]<<" ";
+ std::cout<<std::endl;
+
+ // Histogram
+ if (m_ArgsInfo.histogram_given)
+ {
+ if (m_Verbose) std::cout<<"Median: ";
+ std::cout<<statisticsFilter->GetMedian(label)<<std::endl;
+
+ typename StatisticsImageFilterType::HistogramPointer histogram =statisticsFilter->GetHistogram(label);
+
+ // Screen
+ if (m_Verbose) std::cout<<"Histogram: "<<std::endl;
+ std::cout<<"# MinBin\tMidBin\tMaxBin\tFrequency"<<std::endl;
+ for( int i =0; i <m_ArgsInfo.bins_arg; i++)
+ std::cout<<histogram->GetBinMin(0,i)<<"\t"<<histogram->GetMeasurement(i,0)<<"\t"<<histogram->GetBinMax(0,i)<<"\t"<<histogram->GetFrequency(i)<<std::endl;
+
+ // Add to the file
+ std::ofstream histogramFile(m_ArgsInfo.histogram_arg);
+ histogramFile<<"#Histogram: "<<std::endl;
+ histogramFile<<"#MinBin\tMidBin\tMaxBin\tFrequency"<<std::endl;
+ for( int i =0; i <m_ArgsInfo.bins_arg; i++)
+ histogramFile<<histogram->GetBinMin(0,i)<<"\t"<<histogram->GetMeasurement(i,0)<<"\t"<<histogram->GetBinMax(0,i)<<"\t"<<histogram->GetFrequency(i)<<std::endl;
+ }