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
vtkImageLabelCombine.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: $RCSfile: vtkImageLabelCombine.h,v $
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or https://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
16 #ifndef __vtkImageLabelCombine_h
17 #define __vtkImageLabelCombine_h
18 
19 #include <vtkVersion.h>
20 
21 #include "vtkTeemConfigure.h"
22 
23 #include "vtkThreadedImageAlgorithm.h"
24 
30 class VTK_Teem_EXPORT vtkImageLabelCombine : public vtkThreadedImageAlgorithm
31 {
32 public:
33  static vtkImageLabelCombine *New();
34  vtkTypeMacro(vtkImageLabelCombine,vtkThreadedImageAlgorithm);
35  void PrintSelf(ostream& os, vtkIndent indent) override;
36 
39  vtkSetMacro(OverwriteInput,int);
40  vtkGetMacro(OverwriteInput,int);
41 
44  virtual void SetInput1(vtkDataObject *in)
45  {
46  this->SetInputData(0,in);
47  }
48  virtual void SetInput2(vtkDataObject *in)
49  {
50  this->SetInputData(1,in);
51  }
52 
53 protected:
55  ~vtkImageLabelCombine() override = default;
56 
58 
59  int RequestInformation (vtkInformation *,
60  vtkInformationVector **,
61  vtkInformationVector *) override;
62 
63  void ThreadedRequestData(vtkInformation *request,
64  vtkInformationVector **inputVector,
65  vtkInformationVector *outputVector,
66  vtkImageData ***inData,
67  vtkImageData **outData,
68  int extent[6], int threadId) override;
69 
70  int FillInputPortInformation(int port, vtkInformation* info) override;
71 
72 private:
74  void operator=(const vtkImageLabelCombine&) = delete;
75 };
76 
77 #endif
virtual void SetInput2(vtkDataObject *in)
virtual void SetInput1(vtkDataObject *in)
Set the two inputs to this filter
Add, subtract, multiply, divide, invert, sin, cos, exp, log.