Slicer  5.0
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)