Slicer  4.10
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  // 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)