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 vigra open source c++ library. It takes a multispectral pixel as input and returns a vector with the unmixing result. More...
#include <mitkPASpectralUnmixingFilterVigra.h>
Public Member Functions | |
mitkClassMacro (SpectralUnmixingFilterVigra, SpectralUnmixingFilterBase) | |
void | AddWeight (unsigned int weight) |
AddWeight takes integers and writes them at the end of the weightsvec vector. The first call of the method then corresponds to the first input image/wavelength and so on. More... | |
void | SetAlgorithm (VigraAlgortihmType inputAlgorithmName) |
Takes a mitk::pa::SpectralUnmixingFilterVigra::VigraAlgortihmType 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 | |
SpectralUnmixingFilterVigra () | |
~SpectralUnmixingFilterVigra () 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 it first converts the Eigen inputs to the Vigra class. Afterwards 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 vigra open source c++ library. It takes a multispectral pixel as input and returns a vector with the unmixing result.
Input:
Output:
Algorithms (see VigraAlgortihmType enum):
Possible exceptions:
Definition at line 49 of file mitkPASpectralUnmixingFilterVigra.h.
Contains all implemented Vigra algorithms for spectral unmixing. For detailed information of the algorithms look at the mitkPASpectralUnmixingFilterVigra.h documentation (section Algorithms).
Enumerator | |
---|---|
LARS | |
GOLDFARB | |
WEIGHTED | |
LS |
Definition at line 59 of file mitkPASpectralUnmixingFilterVigra.h.
|
protected |
Definition at line 24 of file mitkPASpectralUnmixingFilterVigra.cpp.
|
overrideprotected |
Definition at line 28 of file mitkPASpectralUnmixingFilterVigra.cpp.
void mitk::pa::SpectralUnmixingFilterVigra::AddWeight | ( | unsigned int | weight | ) |
AddWeight takes integers and writes them at the end of the weightsvec vector. The first call of the method then corresponds to the first input image/wavelength and so on.
weight | is a percentage (integer) between 1 and 100 |
Definition at line 37 of file mitkPASpectralUnmixingFilterVigra.cpp.
mitk::pa::SpectralUnmixingFilterVigra::mitkClassMacro | ( | SpectralUnmixingFilterVigra | , |
SpectralUnmixingFilterBase | |||
) |
|
static |
Referenced by GetFilterInstance().
void mitk::pa::SpectralUnmixingFilterVigra::SetAlgorithm | ( | VigraAlgortihmType | inputAlgorithmName | ) |
Takes a mitk::pa::SpectralUnmixingFilterVigra::VigraAlgortihmType and fix it for usage at the "SpectralUnmixingAlgorithm" method.
algorithmName | has to be a mitk::pa::SpectralUnmixingFilterVigra::VigraAlgortihmType |
Definition at line 32 of file mitkPASpectralUnmixingFilterVigra.cpp.
|
overrideprotectedvirtual |
overrides the baseclass method with a mehtod to calculate the spectral unmixing result vector. Herain it first converts the Eigen inputs to the Vigra class. Afterwards 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 |
Implements mitk::pa::SpectralUnmixingFilterBase.
Definition at line 43 of file mitkPASpectralUnmixingFilterVigra.cpp.