Provides an easy way to calculate an itk::Histogram for a mitk::Image. More...
#include <mitkHistogramGenerator.h>
Public Types | |
| typedef itk::Statistics::Histogram < double > | HistogramType |
Public Member Functions | |
| mitkClassMacro (HistogramGenerator, itk::Object) | |
| virtual void | SetImage (mitk::Image::ConstPointer _arg) |
| virtual void | SetSize (int _arg) |
| virtual int | GetSize () const |
| virtual const HistogramType * | GetHistogram () |
| void | ComputeHistogram () |
| float | GetMaximumFrequency () const |
Static Public Member Functions | |
| static Pointer | New () |
| static float | CalculateMaximumFrequency (const HistogramType *histogram) |
Protected Member Functions | |
| HistogramGenerator () | |
| virtual | ~HistogramGenerator () |
Protected Attributes | |
| mitk::Image::ConstPointer | m_Image |
| int | m_Size |
| HistogramType::ConstPointer | m_Histogram |
Provides an easy way to calculate an itk::Histogram for a mitk::Image.
Definition at line 31 of file mitkHistogramGenerator.h.
| typedef itk::Statistics::Histogram<double> mitk::HistogramGenerator::HistogramType |
Definition at line 36 of file mitkHistogramGenerator.h.
| mitk::HistogramGenerator::HistogramGenerator | ( | ) | [protected] |
Definition at line 38 of file mitkHistogramGenerator.cpp.
: m_Image(NULL), m_Size(256), m_Histogram(NULL) { }
| mitk::HistogramGenerator::~HistogramGenerator | ( | ) | [protected, virtual] |
Definition at line 43 of file mitkHistogramGenerator.cpp.
{
}
| float mitk::HistogramGenerator::CalculateMaximumFrequency | ( | const HistogramType * | histogram ) | [static] |
Definition at line 112 of file mitkHistogramGenerator.cpp.
{
HistogramType::ConstIterator itr = histogram->Begin();
HistogramType::ConstIterator end = histogram->End();
float maxFreq = 0;
while( itr != end )
{
maxFreq = vnl_math_max(maxFreq,
// get rid of ambiguity with type signature
// for vnl_math_max
static_cast<float>(itr.GetFrequency()));
++itr;
}
return maxFreq;
};
| void mitk::HistogramGenerator::ComputeHistogram | ( | ) |
Definition at line 71 of file mitkHistogramGenerator.cpp.
References AccessByItk_2, InternalCompute(), and mitk::ImageTimeSelector::New().
Referenced by mitk::Image::GetScalarHistogram().
{
if((m_Histogram.IsNull()) || (m_Histogram->GetMTime() < m_Image->GetMTime()))
{
const_cast<mitk::Image*>(m_Image.GetPointer())->SetRequestedRegionToLargestPossibleRegion(); //@todo without this, Image::GetScalarMin does not work for dim==3 (including sliceselector!)
const_cast<mitk::Image*>(m_Image.GetPointer())->Update();
mitk::ImageTimeSelector::Pointer timeSelector=mitk::ImageTimeSelector::New();
timeSelector->SetInput(m_Image);
timeSelector->SetTimeNr( 0 );
timeSelector->UpdateLargestPossibleRegion();
AccessByItk_2( timeSelector->GetOutput() , InternalCompute, this, m_Histogram);
}
// debug code
/*
MITK_INFO << "Histogram modfied 1" << m_Histogram->GetMTime() << std::endl;
m_Histogram->Modified();
MITK_INFO << "Histogram modfied 2" << m_Histogram->GetMTime() << std::endl;
MITK_INFO << "Image modfied" << m_Image->GetMTime() << std::endl;
const unsigned int histogramSize = m_Histogram->Size();
MITK_INFO << "Histogram size " << histogramSize << std::endl;
HistogramType::ConstIterator itr = GetHistogram()->Begin();
HistogramType::ConstIterator end = GetHistogram()->End();
int bin = 0;
while( itr != end )
{
MITK_INFO << "bin = " << GetHistogram()->GetBinMin(0,bin) << "--" << GetHistogram()->GetBinMax(0,bin) << " frequency = ";
MITK_INFO << itr.GetFrequency() << std::endl;
++itr;
++bin;
}
*/
}
| virtual const HistogramType* mitk::HistogramGenerator::GetHistogram | ( | ) | [virtual] |
Referenced by mitk::Image::GetScalarHistogram().
| float mitk::HistogramGenerator::GetMaximumFrequency | ( | ) | const |
Definition at line 108 of file mitkHistogramGenerator.cpp.
{
return CalculateMaximumFrequency(this->m_Histogram);
};
| virtual int mitk::HistogramGenerator::GetSize | ( | ) | const [virtual] |
Referenced by InternalCompute().
| mitk::HistogramGenerator::mitkClassMacro | ( | HistogramGenerator | , |
| itk::Object | |||
| ) |
| static Pointer mitk::HistogramGenerator::New | ( | ) | [static] |
Referenced by QmitkVtkHistogramWidget::ComputeHistogram().
| virtual void mitk::HistogramGenerator::SetImage | ( | mitk::Image::ConstPointer | _arg ) | [virtual] |
Referenced by mitk::Image::GetScalarHistogram().
| virtual void mitk::HistogramGenerator::SetSize | ( | int | _arg ) | [virtual] |
HistogramType::ConstPointer mitk::HistogramGenerator::m_Histogram [protected] |
Definition at line 55 of file mitkHistogramGenerator.h.
Definition at line 53 of file mitkHistogramGenerator.h.
int mitk::HistogramGenerator::m_Size [protected] |
Definition at line 54 of file mitkHistogramGenerator.h.
1.7.2