--- /dev/null
+#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