1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkImageYIQToRGB.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 vtkImageRGBToYIQ 17 * @brief Converts YIQ components to RGB. 18 * 19 * For each pixel with Y, I, and Q components this 20 * filter output the color coded as RGB. 21 * Output type must be the same as input type. 22 */ 23 24 #ifndef vtkImageYIQToRGB_h 25 #define vtkImageYIQToRGB_h 26 27 #include "vtkImagingColorModule.h" // For export macro 28 #include "vtkThreadedImageAlgorithm.h" 29 30 class VTKIMAGINGCOLOR_EXPORT vtkImageYIQToRGB : public vtkThreadedImageAlgorithm 31 { 32 public: 33 static vtkImageYIQToRGB* New(); 34 vtkTypeMacro(vtkImageYIQToRGB, vtkThreadedImageAlgorithm); 35 void PrintSelf(ostream& os, vtkIndent indent) override; 36 37 vtkSetMacro(Maximum, double); 38 vtkGetMacro(Maximum, double); 39 40 protected: 41 vtkImageYIQToRGB(); 42 ~vtkImageYIQToRGB() override = default; 43 44 double Maximum; // Maximum value of pixel intensity allowed 45 46 void ThreadedExecute(vtkImageData* inData, vtkImageData* outData, int ext[6], int id) override; 47 48 private: 49 vtkImageYIQToRGB(const vtkImageYIQToRGB&) = delete; 50 void operator=(const vtkImageYIQToRGB&) = delete; 51 }; 52 53 #endif 54