Slicer  4.8
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 
9 class VTK_SLICER_SEGMENTATIONS_LOGIC_EXPORT vtkImageGrowCutSegment : public vtkImageAlgorithm
10 {
11 public:
12  static vtkImageGrowCutSegment* New();
13  vtkTypeMacro(vtkImageGrowCutSegment, vtkImageAlgorithm);
14  void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE;
15 
16  // Set input grayscale volume (input 0)
17  void SetIntensityVolume(vtkImageData* grayscaleImage) { this->SetInputData(0, grayscaleImage); }
18 
19  // Set input seed label volume (input 1)
20  void SetSeedLabelVolume(vtkImageData* labelImage) { this->SetInputData(1, labelImage); }
21 
22  // Reset to initial state. This forces full recomputation of the result label volume.
23  // This method has to be called if intensity volume changes or if seeds are deleted after initial computation.
24  void Reset();
25 
26 protected:
28  virtual ~vtkImageGrowCutSegment();
29 
30  virtual void ExecuteDataWithInformation(vtkDataObject *outData, vtkInformation *outInfo) VTK_OVERRIDE;
31  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
32 
33 private:
34  class vtkInternal;
35  vtkInternal * Internal;
36 };
37 
38 #endif
void SetSeedLabelVolume(vtkImageData *labelImage)
void SetIntensityVolume(vtkImageData *grayscaleImage)