Slicer  4.10
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 
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  // Set mask volume (input 2). Optional.
23  // If this volume is specified then only those regions outside the mask (where mask has zero value)
24  // will be included in the segmentation result. Regions outside the mask will not be used
25  // for region growing either (growing will not start from or cross through masked region).
26  void SetMaskVolume(vtkImageData* labelImage) { this->SetInputData(2, labelImage); }
27 
28  // Reset to initial state. This forces full recomputation of the result label volume.
29  // This method has to be called if intensity volume changes or if seeds are deleted after initial computation.
30  void Reset();
31 
32 protected:
34  virtual ~vtkImageGrowCutSegment();
35 
36  virtual void ExecuteDataWithInformation(vtkDataObject *outData, vtkInformation *outInfo) VTK_OVERRIDE;
37  virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE;
38 
39 private:
40  class vtkInternal;
41  vtkInternal * Internal;
42 };
43 
44 #endif
void SetMaskVolume(vtkImageData *labelImage)
void SetSeedLabelVolume(vtkImageData *labelImage)
void SetIntensityVolume(vtkImageData *grayscaleImage)