X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FMyGridOnImageGenerator.h;fp=lib%2FMyGridOnImageGenerator.h;h=1ef6e2eb0e6bbe5a183fc5c397e2ee641ebf203e;hb=f190ebd246ec5183a78ee55539bfda84318f2bc4;hp=0000000000000000000000000000000000000000;hpb=89e356bbe8118769dbf588508695f1496506ae43;p=creaRigidRegistration.git diff --git a/lib/MyGridOnImageGenerator.h b/lib/MyGridOnImageGenerator.h new file mode 100755 index 0000000..1ef6e2e --- /dev/null +++ b/lib/MyGridOnImageGenerator.h @@ -0,0 +1,111 @@ +#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