1 /*========================================================================= 2 3 Program: Visualization Toolkit 4 Module: vtkSphericalHarmonics.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 vtkSphericalHarmonics 17 * @brief compute spherical harmonics of an equirectangular projection image 18 * 19 * vtkSphericalHarmonics is a filter that computes spherical harmonics of an 20 * equirectangular projection image representing a 360 degree image. 21 * Its output is a vtkTable containing the third degree spherical harmonics coefficients. 22 * This filter expects the image data to be a RGB image. 23 * 8-bits images are expected to be sRGB encoded and other formats are expected to be in 24 * linear color space. 25 */ 26 27 #ifndef vtkSphericalHarmonics_h 28 #define vtkSphericalHarmonics_h 29 30 #include "vtkFiltersGeneralModule.h" // For export macro 31 #include "vtkImageAlgorithm.h" 32 33 class VTKFILTERSGENERAL_EXPORT vtkSphericalHarmonics : public vtkImageAlgorithm 34 { 35 public: 36 static vtkSphericalHarmonics* New(); 37 vtkTypeMacro(vtkSphericalHarmonics, vtkImageAlgorithm); 38 void PrintSelf(ostream& os, vtkIndent indent) override; 39 40 protected: 41 vtkSphericalHarmonics() = default; 42 ~vtkSphericalHarmonics() override = default; 43 44 // Usual data generation method 45 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override; 46 int FillOutputPortInformation(int, vtkInformation*) override; 47 48 private: 49 vtkSphericalHarmonics(const vtkSphericalHarmonics&) = delete; 50 void operator=(const vtkSphericalHarmonics&) = delete; 51 }; 52 53 #endif 54