Medical Imaging Interaction Toolkit  2018.4.99-a3d2e8fb
Medical Imaging Interaction Toolkit
mitkModelSignalImageGenerator.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef MODELSIGNALIMAGEGENERATOR_H
14 #define MODELSIGNALIMAGEGENERATOR_H
15 
16 
18 #include "mitkImage.h"
19 
20 #include "MitkModelFitExports.h"
21 
22 namespace mitk
23 {
28  class MITKMODELFIT_EXPORT ModelSignalImageGenerator: public ::itk::Object
29  {
30  public:
31 
33  itkFactorylessNewMacro(Self);
34 
36  typedef std::vector<std::string> ParameterNamesType;
37  typedef unsigned int ParametersIndexType;
38  typedef std::vector<ParameterImageType> ParameterVectorType;
39  typedef std::map<ParametersIndexType, ParameterImageType> ParameterMapType;
40 
41 
44 
46 
47  itkSetObjectMacro(Parameterizer, ModelParameterizerBase);
48  itkGetObjectMacro(Parameterizer, ModelParameterizerBase);
49 
50  void SetParameterInputImage(const ParametersIndexType index, ParameterImageType inputParameterImage);
51 
52  ResultImageType GetGeneratedImage();
53  void Generate();
54 
55  protected:
57  {};
59  {};
60 
61  template <typename TPixel, unsigned int VDim>
62  void DoGenerateData(itk::Image<TPixel, VDim>* image);
63 
64  template <typename TPixel, unsigned int VDim>
65  void DoPrepareMask(itk::Image<TPixel, VDim>* image);
66 
67  private:
68  ParameterMapType m_ParameterInputMap;
69  ParameterVectorType m_InputParameterImages;
70 
71  void SortParameterImages();
72 
73  MaskType m_Mask;
74 
75  typedef itk::Image<unsigned char, 3> InternalMaskType;
76  InternalMaskType::Pointer m_InternalMask;
77 
78  ResultImageType m_ResultImage;
79  ModelParameterizerBase::Pointer m_Parameterizer;
80  };
81 }
82 
83 
84 #endif // MODELSIGNALIMAGEGENERATOR_H
std::vector< std::string > ParameterNamesType
std::vector< ParameterImageType > ParameterVectorType
DataCollection - Class to facilitate loading/accessing structured data.
itk::Array< double > TimeGridType
Definition: mitkModelBase.h:62
mitk::ModelBase::TimeGridType GridType
#define MITKMODELFIT_EXPORT
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:49
mitk::Image::Pointer image
std::map< ParametersIndexType, ParameterImageType > ParameterMapType