Slicer  5.3
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkImageGrowCutSegment.h
Go to the documentation of this file.
1 #ifndef FASTGROWCUT_H
2 #define FASTGROWCUT_H
3 
4 #include "vtkSlicerSegmentationsModuleLogicExport.h"
5 
6 #include <vtkImageAlgorithm.h>
7 #include <vtkImageData.h>
8 #include <vtkInformation.h>
9 
10 class VTK_SLICER_SEGMENTATIONS_LOGIC_EXPORT vtkImageGrowCutSegment : public vtkImageAlgorithm
11 {
12 public:
13  static vtkImageGrowCutSegment* New();
14  vtkTypeMacro(vtkImageGrowCutSegment, vtkImageAlgorithm);
15  void PrintSelf(ostream &os, vtkIndent indent) override;
16 
18  void SetIntensityVolume(vtkImageData* grayscaleImage) { this->SetInputData(0, grayscaleImage); }
19 
21  void SetSeedLabelVolume(vtkImageData* labelImage) { this->SetInputData(1, labelImage); }
22 
27  void SetMaskVolume(vtkImageData* labelImage) { this->SetInputData(2, labelImage); }
28 
31  void Reset();
32 
36  vtkGetMacro(DistancePenalty, double);
37  vtkSetMacro(DistancePenalty, double);
38 
39 protected:
41  ~vtkImageGrowCutSegment() override;
42 
43  void ExecuteDataWithInformation(vtkDataObject *outData, vtkInformation *outInfo) override;
44  int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override;
45 
46  int FillInputPortInformation(int port, vtkInformation * info) override;
47 
48 private:
50  void operator=(const vtkImageGrowCutSegment&) = delete;
51 
52  class vtkInternal;
53  vtkInternal * Internal;
54  double DistancePenalty;
55 };
56 
57 #endif
void SetMaskVolume(vtkImageData *labelImage)
void SetSeedLabelVolume(vtkImageData *labelImage)
Set input seed label volume (input 1)
void SetIntensityVolume(vtkImageData *grayscaleImage)
Set input grayscale volume (input 0)