3 #include <itkImageToImageFilter.h> 4 #include <itkImageRegionIterator.h> 5 #include <itkImageRegionConstIterator.h> 6 #include <itkVariableSizeMatrix.h> 21 template <
typename TInput,
typename TOutput>
23 public itk::ImageToImageFilter< TInput,TOutput>
28 typedef itk::ImageToImageFilter< TInput ,TOutput >
Superclass;
82 this->SetCoordinateTolerance(tol);
83 this->SetDirectionTolerance(tol);
89 itkSetMacro(Alpha,
double)
90 itkGetMacro(Alpha,
double)
92 itkSetMacro(MultiVarSources,
double)
93 itkGetMacro(MultiVarSources,
double)
95 itkSetMacro(MultiVarSinks,
double)
96 itkGetMacro(MultiVarSinks,
double)
98 itkSetMacro(NbModalities,
unsigned int)
99 itkGetMacro(NbModalities,
unsigned int)
101 itkSetMacro(Verbose,
bool)
102 itkGetMacro(Verbose,
bool)
108 m_MultiVarSources = 1;
116 m_IndexSourcesMask= m_NbMaxImage, m_IndexSourcesProba= m_NbMaxImage,m_IndexSinksMask= m_NbMaxImage, m_IndexSinksProba= m_NbMaxImage;
118 this->SetNumberOfRequiredOutputs(2);
119 this->SetNumberOfRequiredInputs(2);
141 itk::DataObject::Pointer
MakeOutput(
unsigned int idx);
149 double m_MultiVarSources;
150 double m_MultiVarSinks;
153 unsigned int m_NbModalities;
154 unsigned int m_NbInputs, m_NbMaxImage;
155 unsigned int m_IndexSourcesMask, m_IndexSourcesProba, m_IndexSinksMask, m_IndexSinksProba;
157 std::vector<InConstIteratorType> m_imagesVectorIt;
158 std::vector<InIteratorType> m_imagesVectorIt2;
159 std::vector<InputImageConstPointer> m_imagesVector;
160 std::vector<InputImagePointer> m_imagesVector2;
void SetInputSeedSourcesMask(const TSeedMask *mask)
TSeedMask::ConstPointer GetInputSeedSourcesMask()
TOutput * GetOutputSinks()
void SetInputSeedSinksMask(const TSeedMask *mask)
TOutput * GetOutputSources()
void computeSingleGaussian()
TSeedProba::ConstPointer GetInputSeedSinksProba()
unsigned char PixelTypeUC
itk::Image< PixelTypeD, 3 > TSeedProba
itk::ImageRegionConstIterator< TSeedProba > SeedProbaRegionConstIteratorType
itk::SmartPointer< const Self > ConstPointer
itk::DataObject::Pointer MakeOutput(unsigned int idx)
void SetInputSeedSinksProba(const TSeedProba *mask)
TInput::PixelType InputPixelType
TSeedMask::ConstPointer GetInputSeedSinksMask()
Class computing the probability maps that are used to create the t-links.
itk::ImageRegionConstIterator< TSeedMask > SeedMaskRegionConstIteratorType
void SetInputImage(unsigned int i, const TInput *image)
Superclass::OutputImageRegionType OutputImageRegionType
itk::SmartPointer< Self > Pointer
void SetTLinkMode(TLinkMode m)
itk::ImageRegionIterator< TOutput > OutRegionIteratorType
itk::ImageRegionIterator< TInput > InIteratorType
itk::ImageRegionConstIterator< TInput > InConstIteratorType
itk::ImageToImageFilter< TInput,TOutput > Superclass
itk::Matrix< double, 1, 1 > MatrixTypeRes
void SetTol(const double tol)
void GenerateData() ITK_OVERRIDE
itk::Image< PixelTypeUC, 3 > TSeedMask
itk::VariableSizeMatrix< NumericType > DoubleVariableSizeMatrixType
itk::ImageRegionIterator< TSeedMask > SeedMaskRegionIteratorType
TOutput::Pointer OutputImagePointer
TOutput::PixelType OutputPixelType
void SetInputSeedSourcesProba(const TSeedProba *mask)
TInput::Pointer InputImagePointer
TSeedProba::ConstPointer GetInputSeedSourcesProba()
TInput::ConstPointer InputImageConstPointer
void computeSingleGaussianSeeds(TSeedMask::ConstPointer seedMask, OutputImagePointer output, double multiVar, TSeedMask::ConstPointer seedMaskOpp=ITK_NULLPTR)
TSeedMask::Pointer TSeedMaskPointer