Medical Imaging Interaction Toolkit
2018.4.99-389bf124
Medical Imaging Interaction Toolkit
|
This filter is subclass of the spectral unmixing filter base. All algorithms in this class are based on the Eigen open source c++ library. It takes a multispectral pixel as input and returns a vector with the unmixing result. More...
#include <mitkPALinearSpectralUnmixingFilter.h>
Public Member Functions | |
mitkClassMacro (LinearSpectralUnmixingFilter, SpectralUnmixingFilterBase) | |
void | SetAlgorithm (AlgortihmType inputAlgorithmName) |
Takes a mitk::pa::LinearSpectralUnmixingFilter::AlgortihmType and fix it for usage at the "SpectralUnmixingAlgorithm" method. More... | |
![]() | |
mitkClassMacro (SpectralUnmixingFilterBase, mitk::ImageToImageFilter) | |
void | AddChromophore (mitk::pa::PropertyCalculator::ChromophoreType chromophore) |
AddChromophore takes mitk::pa::PropertyCalculator::ChromophoreType and writes them at the end of the m_Chromophore vector. The call of the method sets the order of the GetOutput method! More... | |
void | AddWavelength (int wavelength) |
AddWavelength takes integers and writes them at the end of the m_Wavelength vector. The first call of the method then corresponds to the first input image and so on. More... | |
virtual void | Verbose (bool verbose) |
virtual void | AddOutputs (unsigned int outputs) |
AddOutputs takes an integer and sets indexed outputs. More... | |
virtual void | RelativeError (bool relativeError) |
virtual void | AddRelativeErrorSettings (int value) |
AddRelativeErrorSettings takes integers and writes them at the end of the m_RelativeErrorSettings vector. More... | |
![]() | |
virtual std::vector< std::string > | GetClassHierarchy () const override |
virtual const char * | GetClassName () const |
Pointer | Clone () const |
virtual void | SetInput (const InputImageType *image) |
virtual void | SetInput (unsigned int, const InputImageType *image) |
InputImageType * | GetInput (void) |
InputImageType * | GetInput (unsigned int idx) |
const InputImageType * | GetInput (void) const |
const InputImageType * | GetInput (unsigned int idx) const |
![]() | |
Pointer | Clone () const |
OutputType * | GetOutput () |
Get the output data of this image source object. More... | |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (DataObjectPointerArraySizeType idx) const |
itk::DataObject::Pointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
Make a DataObject of the correct type to used as the specified output. More... | |
itk::DataObject::Pointer | MakeOutput (const DataObjectIdentifierType &name) override |
virtual vtkImageData * | GetVtkImageData () |
virtual const vtkImageData * | GetVtkImageData () const |
![]() | |
OutputType * | GetOutput () |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (DataObjectPointerArraySizeType idx) const |
virtual void | GraftOutput (OutputType *output) |
Graft the specified BaseData onto this BaseDataSource's output. More... | |
virtual void | GraftOutput (const DataObjectIdentifierType &key, OutputType *output) |
virtual void | GraftNthOutput (unsigned int idx, OutputType *output) |
Graft the specified base data object onto this BaseDataSource's idx'th output. More... | |
bool | Updating () const |
Access itk::ProcessObject::m_Updating. More... | |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
![]() | |
static const char * | GetStaticNameOfClass () |
static Pointer | New () |
Method for creation through the object factory. More... | |
![]() | |
static const char * | GetStaticNameOfClass () |
Protected Member Functions | |
LinearSpectralUnmixingFilter () | |
~LinearSpectralUnmixingFilter () override | |
Eigen::VectorXf | SpectralUnmixingAlgorithm (Eigen::Matrix< float, Eigen::Dynamic, Eigen::Dynamic > endmemberMatrix, Eigen::VectorXf inputVector) override |
overrides the baseclass method with a mehtod to calculate the spectral unmixing result vector. Herain the class performs the algorithm set by the "SetAlgorithm" method and writes the result into a Eigen vector which is the return value. More... | |
![]() | |
SpectralUnmixingFilterBase () | |
Constructor creats proptery calculater smart pointer new() More... | |
~SpectralUnmixingFilterBase () override | |
![]() | |
ImageToImageFilter () | |
~ImageToImageFilter () override | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
void | GenerateInputRequestedRegion () override |
![]() | |
ImageSource () | |
~ImageSource () override | |
void | GenerateData () override |
A version of GenerateData() specific for image processing filters. More... | |
virtual void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) |
If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More... | |
void | PrepareOutputs () override |
This method is intentionally left blank. More... | |
virtual void | AllocateOutputs () |
The GenerateData method normally allocates the buffers for all of the outputs of a filter. More... | |
virtual void | BeforeThreadedGenerateData () |
If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). More... | |
virtual void | AfterThreadedGenerateData () |
If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). More... | |
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion) |
Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More... | |
![]() | |
BaseDataSource () | |
~BaseDataSource () override | |
Additional Inherited Members | |
![]() | |
ofstream | myfile |
![]() | |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Static function used as a "callback" by the MultiThreader. More... | |
![]() | |
static Pointer | New () |
![]() | |
bool | m_Verbose |
bool | m_RelativeError |
std::vector< mitk::pa::PropertyCalculator::ChromophoreType > | m_Chromophore |
std::vector< int > | m_Wavelength |
std::vector< int > | m_RelativeErrorSettings |
This filter is subclass of the spectral unmixing filter base. All algorithms in this class are based on the Eigen open source c++ library. It takes a multispectral pixel as input and returns a vector with the unmixing result.
Input:
Output:
Algorithms (see AlgortihmType enum):
Possible exceptions:
Definition at line 49 of file mitkPALinearSpectralUnmixingFilter.h.
Contains all implemented Eigen algorithms for spectral unmixing. For detailed information of the algorithms look at the mitkPALinearSpectralUnmixingFilter.h documentation (section Algorithms).
Enumerator | |
---|---|
HOUSEHOLDERQR | |
LDLT | |
LLT | |
COLPIVHOUSEHOLDERQR | |
JACOBISVD | |
FULLPIVLU | |
FULLPIVHOUSEHOLDERQR |
Definition at line 61 of file mitkPALinearSpectralUnmixingFilter.h.
|
protected |
Definition at line 22 of file mitkPALinearSpectralUnmixingFilter.cpp.
|
overrideprotected |
Definition at line 26 of file mitkPALinearSpectralUnmixingFilter.cpp.
mitk::pa::LinearSpectralUnmixingFilter::mitkClassMacro | ( | LinearSpectralUnmixingFilter | , |
SpectralUnmixingFilterBase | |||
) |
|
static |
Referenced by GetFilterInstance().
void mitk::pa::LinearSpectralUnmixingFilter::SetAlgorithm | ( | AlgortihmType | inputAlgorithmName | ) |
Takes a mitk::pa::LinearSpectralUnmixingFilter::AlgortihmType and fix it for usage at the "SpectralUnmixingAlgorithm" method.
algorithmName | has to be a mitk::pa::LinearSpectralUnmixingFilter::AlgortihmType |
Definition at line 30 of file mitkPALinearSpectralUnmixingFilter.cpp.
|
overrideprotectedvirtual |
overrides the baseclass method with a mehtod to calculate the spectral unmixing result vector. Herain the class performs the algorithm set by the "SetAlgorithm" method and writes the result into a Eigen vector which is the return value.
endmemberMatrix | Matrix with number of chromophores colums and number of wavelengths rows so matrix element (i,j) contains the absorbtion of chromophore j @ wavelength i taken from the database by PropertyElement method. |
inputVector | Vector containing values of one pixel of XY-plane image with number of wavelength rows (z-dimension of a sequenece) so the pixelvalue of the first wavelength is stored in inputVector[0] and so on. |
if | the algorithmName is not a member of the enum VigraAlgortihmType |
if | one chooses the ldlt/llt solver which doens't work yet |
Implements mitk::pa::SpectralUnmixingFilterBase.
Definition at line 35 of file mitkPALinearSpectralUnmixingFilter.cpp.
References mitkThrow.