Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions

mitk::ImageToLookupTableFilter Class Reference

#include <mitkImageToLookupTableFilter.h>

Inheritance diagram for mitk::ImageToLookupTableFilter:
Inheritance graph
[legend]
Collaboration diagram for mitk::ImageToLookupTableFilter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef ImageToLookupTableFilter Self
typedef LookupTableSource Superclass
typedef itk::SmartPointer< SelfPointer
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 InputImageTypeGetInput (void)
const InputImageTypeGetInput (unsigned int idx)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

virtual void GenerateData ()
 ImageToLookupTableFilter ()
virtual ~ImageToLookupTableFilter ()

Detailed Description

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.


Member Typedef Documentation

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.


Constructor & Destructor Documentation

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.

{
    
}

Member Function Documentation

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 ) );
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines