1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkImageMagnitude.h 5 6 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 7 All rights reserved. 8 See Copyright.txt or http://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 * @class vtkImageMagnitude.h 17 * @brief Colapses components with magnitude function. 18 * 19 * vtkImageMagnitude takes the magnitude of the components. 20 */ 21 22 #ifndef vtkImageMagnitude_h 23 #define vtkImageMagnitude_h 24 25 #include "vtkImagingMathModule.h" // For export macro 26 #include "vtkThreadedImageAlgorithm.h" 27 28 class VTKIMAGINGMATH_EXPORT vtkImageMagnitude : public vtkThreadedImageAlgorithm 29 { 30 public: 31 static vtkImageMagnitude* New(); 32 vtkTypeMacro(vtkImageMagnitude, vtkThreadedImageAlgorithm); 33 void PrintSelf(ostream& os, vtkIndent indent) override; 34 35 protected: 36 vtkImageMagnitude(); 37 ~vtkImageMagnitude() override = default; 38 39 int RequestInformation(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override; 40 41 void ThreadedExecute(vtkImageData* inData, vtkImageData* outData, int outExt[6], int id) override; 42 43 private: 44 vtkImageMagnitude(const vtkImageMagnitude&) = delete; 45 void operator=(const vtkImageMagnitude&) = delete; 46 }; 47 48 #endif 49