#include <mitkImageToLookupTableFilter.h>
Public Types | |
typedef ImageToLookupTableFilter | Self |
typedef LookupTableSource | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
typedef mitk::Image | InputImageType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual void | SetInput (const InputImageType *image) |
virtual void | SetInput (unsigned int, const InputImageType *image) |
const InputImageType * | GetInput (void) |
const InputImageType * | GetInput (unsigned int idx) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
virtual void | GenerateData () |
ImageToLookupTableFilter () | |
virtual | ~ImageToLookupTableFilter () |
Creates a mitk::LookupTable from an image. This may be used to create a default coloring scheme for vector images...
Definition at line 32 of file mitkImageToLookupTableFilter.h.
typedef itk::SmartPointer<const Self> mitk::ImageToLookupTableFilter::ConstPointer |
Reimplemented from mitk::LookupTableSource.
Definition at line 36 of file mitkImageToLookupTableFilter.h.
Definition at line 43 of file mitkImageToLookupTableFilter.h.
Definition at line 42 of file mitkImageToLookupTableFilter.h.
Definition at line 38 of file mitkImageToLookupTableFilter.h.
typedef itk::SmartPointer<Self> mitk::ImageToLookupTableFilter::Pointer |
Reimplemented from mitk::LookupTableSource.
Definition at line 36 of file mitkImageToLookupTableFilter.h.
Reimplemented from mitk::LookupTableSource.
Definition at line 36 of file mitkImageToLookupTableFilter.h.
Reimplemented from mitk::LookupTableSource.
Definition at line 36 of file mitkImageToLookupTableFilter.h.
mitk::ImageToLookupTableFilter::ImageToLookupTableFilter | ( | ) | [protected] |
Definition at line 26 of file mitkImageToLookupTableFilter.cpp.
{ this->SetNumberOfRequiredInputs(1); }
mitk::ImageToLookupTableFilter::~ImageToLookupTableFilter | ( | ) | [protected, virtual] |
Definition at line 34 of file mitkImageToLookupTableFilter.cpp.
{ }
void mitk::ImageToLookupTableFilter::GenerateData | ( | ) | [protected, virtual] |
Definition at line 85 of file mitkImageToLookupTableFilter.cpp.
{ this->SetNumberOfOutputs( this->GetNumberOfInputs() ); for (unsigned int inputIdx = 0; inputIdx < this->GetNumberOfInputs() ; ++inputIdx) { InputImagePointer image = const_cast<mitk::Image*>(this->GetInput( inputIdx )); OutputTypePointer output = dynamic_cast<OutputType*>(this->MakeOutput( inputIdx ).GetPointer()); this->ProcessObject::SetNthOutput( inputIdx, output.GetPointer() ); if (image.IsNull()) { itkWarningMacro(<< inputIdx<<"'th input image is null!"); return; } // the default vtkLookupTable has range=[0,1]; and hsv ranges set // up for rainbow color table (from red to blue). vtkLookupTable* vtkLut = vtkLookupTable::New(); /* if ( ( image->GetPixelType().GetNumberOfComponents() == 3 ) && ( image->GetDimension() == 3 ) ) { // some typedefs for conversion to an iterable itk image const unsigned int VectorDimension = 3; typedef float VectorComponentType; typedef itk::Vector< VectorComponentType, VectorDimension > VectorType; typedef itk::Image< VectorType, VectorDimension > VectorFieldType; typedef itk::ImageRegionIterator< VectorFieldType > VectorFieldIteratorType; typedef mitk::ImageToItk<VectorFieldType> ImageConverterType; // some local variables float minValue = itk::NumericTraits<float>::max(); float maxValue = itk::NumericTraits<float>::NonpositiveMin(); float norm = 0.0f; //determine the range of the vector magnitudes in the image ImageConverterType::Pointer imageConverter = ImageConverterType::New(); imageConverter->SetInput(image); VectorFieldType::Pointer itkImage = imageConverter->GetOutput(); VectorFieldIteratorType it( itkImage, itkImage->GetRequestedRegion() ); it.GoToBegin(); while ( !it.IsAtEnd() ) { norm = it.Get().GetNorm(); minValue = std::min(norm, minValue); maxValue = std::max(norm, maxValue); } MITK_INFO << "Range of vector magnitudes: [" << minValue << ", "<< maxValue << "]." << std::endl; vtkLut->SetRange(minValue, maxValue); } else { itkWarningMacro(<< "Sorry, only 3d vector images are currently supported!"); }*/ vtkLut->SetRange(0, 10); output->SetVtkLookupTable( vtkLut ); vtkLut->Delete(); } }
virtual const char* mitk::ImageToLookupTableFilter::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::LookupTableSource.
const mitk::ImageToLookupTableFilter::InputImageType * mitk::ImageToLookupTableFilter::GetInput | ( | void | ) |
Definition at line 65 of file mitkImageToLookupTableFilter.cpp.
{ if ( this->GetNumberOfInputs() < 1 ) { return 0; } return static_cast<const InputImageType * >( this->ProcessObject::GetInput( 0 ) ); }
const mitk::ImageToLookupTableFilter::InputImageType * mitk::ImageToLookupTableFilter::GetInput | ( | unsigned int | idx ) |
Definition at line 77 of file mitkImageToLookupTableFilter.cpp.
{ return static_cast< const InputImageType * >( this->ProcessObject::GetInput( idx ) ); }
static Pointer mitk::ImageToLookupTableFilter::New | ( | ) | [static] |
Reimplemented from mitk::LookupTableSource.
void mitk::ImageToLookupTableFilter::SetInput | ( | const InputImageType * | image ) | [virtual] |
Definition at line 42 of file mitkImageToLookupTableFilter.cpp.
{
// Process object is not const-correct so the const_cast is required here
this->itk::ProcessObject::SetNthInput( 0, const_cast< InputImageType * >( input ) );
}
void mitk::ImageToLookupTableFilter::SetInput | ( | unsigned int | index, |
const InputImageType * | image | ||
) | [virtual] |
Definition at line 52 of file mitkImageToLookupTableFilter.cpp.
{ if ( index + 1 > this->GetNumberOfInputs() ) { this->SetNumberOfRequiredInputs( index + 1 ); } // Process object is not const-correct so the const_cast is required here this->ProcessObject::SetNthInput( index, const_cast< InputImageType *>( input ) ); }