13 #ifndef MITKPHOTOACOUSTICSPECTRALUNMIXINGFILTERBASE_H 14 #define MITKPHOTOACOUSTICSPECTRALUNMIXINGFILTERBASE_H 21 #include "itkLightObject.h" 25 #include <eigen3/Eigen/Dense> 82 void AddWavelength(
int wavelength);
88 virtual void Verbose(
bool verbose);
95 virtual void AddOutputs(
unsigned int outputs);
101 virtual void RelativeError(
bool relativeError);
107 virtual void AddRelativeErrorSettings(
int value);
126 virtual Eigen::VectorXf SpectralUnmixingAlgorithm(Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic> endmemberMatrix,
127 Eigen::VectorXf inputVector) = 0;
129 bool m_Verbose =
false;
130 bool m_RelativeError =
false;
142 virtual void InitializeOutputs(
unsigned int totalNumberOfSequences);
160 void GenerateData()
override;
168 virtual Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic> CalculateEndmemberMatrix(
169 std::vector<mitk::pa::PropertyCalculator::ChromophoreType> m_Chromophore, std::vector<int> m_Wavelength);
187 float CalculateRelativeError(Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic> endmemberMatrix,
188 Eigen::VectorXf inputVector, Eigen::VectorXf resultVector);
190 PropertyCalculator::Pointer m_PropertyCalculatorEigen;
194 #endif // MITKPHOTOACOUSTICSPECTRALUNMIXINGFILTERBASE_
The spectral unmixing filter base is designed as superclass for several spectral unmixing filter eg...
DataCollection - Class to facilitate loading/accessing structured data.
std::vector< mitk::pa::PropertyCalculator::ChromophoreType > m_Chromophore
std::vector< int > m_Wavelength
#define mitkClassMacro(className, SuperClassName)
Superclass of all classes having one or more Images as input and generating Images as output...
#define MITKPHOTOACOUSTICSLIB_EXPORT
std::vector< int > m_RelativeErrorSettings