#ifndef __MyGridOnImageGenerator_h__ #define __MyGridOnImageGenerator_h__ //----------------- // C++ //----------------- //----------------- // VTK //----------------- #include "vtkImageData.h" //------------------------------------------------------------------------------ // Creates a grid over an image. It is usually used to visualized the deformation // field after a non-rigid registration. The contrast in the final image is based // on the maximum and minimum values over the entire image. //------------------------------------------------------------------------------ class MyGridOnImageGenerator { public: //------------------------------------------------------------ //Builder //------------------------------------------------------------ /* * Class builder * @param nImage is the input image * @param nScpX is the spacing in X direction * @param nScpY is the spacing in Y direction * @param nScpZ is the spacing in Z direction */ MyGridOnImageGenerator(vtkImageData* nImage, double nScpX, double nScpY, double nScpZ); //------------------------------------------------------------ //Destructor //------------------------------------------------------------ ~MyGridOnImageGenerator(); //------------------------------------------------------------ //Public methods //------------------------------------------------------------ /* * Method that changes the spacing in X * param nScpX the new value for the spacing in X */ void setScpX(double nScpX); /* * Method that changes the spacing in Y * param nScpY the new value for the spacing in Y */ void setScpY(double nScpY); /* * Method that changes the spacing in Z * param nScpZ the new value for the spacing in Z */ void setScpZ(double nScpZ); /* * Method that changes the input image * @param nImage is the new image */ void setImage(vtkImageData* nImage); /** * Method that generates the image with the grid * @return The image with the grid */ vtkImageData* getGridOnImage( ); private: //------------------------------------------------------------ //Private methods //------------------------------------------------------------ //------------------------------------------------------------ //Attributes //------------------------------------------------------------ /* * Spcing in X directioin */ double spcX; /* * Spcing in Y directioin */ double spcY; /* * Spcing in Z directioin */ double spcZ; /** * Input image */ vtkImageData* image; }; //------------------------------------------------------------------------------ #endif