1 /*=========================================================================
4 Module: $RCSfile: bbvtkMIPCreator.h,v $
6 Date: $Date: 2008/04/18 12:59:52 $
7 Version: $Revision: 1.3 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/bbtk/License.html for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*//**
18 * \brief Short description in one line
20 * Long description which
21 * can span multiple lines
25 * \brief Pattern for the definition of a new type of Node (header)
28 * \class bbtk::NodePatern
29 * \brief Pattern for the definition of a new type of Node
36 #ifndef __bbvtkMIPCreator_h_INCLUDED__
37 #define __bbvtkMIPCreator_h_INCLUDED__
40 #include "bbtkAtomicBlackBox.h"
42 #include "vtkImageData.h"
43 #include <vtkImageShiftScale.h>
44 #include <vtkVolumeRayCastMIPFunction.h>
45 #include <vtkVolumeRayCastMapper.h>
46 #include "vtkProp3D.h"
47 #include "vtkVolume.h"
54 class /*BBTK_EXPORT*/ MIPCreator : public bbtk::AtomicBlackBox
57 BBTK_BLACK_BOX_INTERFACE(MIPCreator,bbtk::AtomicBlackBox);
58 // BBTK_DECLARE_INPUT(Contour,int);
59 BBTK_DECLARE_INPUT(In,vtkImageData *);
60 BBTK_DECLARE_INPUT(Shift,int);
61 BBTK_DECLARE_INPUT(Scale,float);
62 BBTK_DECLARE_OUTPUT(Out,vtkProp3D*);
63 BBTK_PROCESS(Process);
67 virtual void bbUserConstructor();
68 virtual void bbUserCopyConstructor();
71 vtkImageShiftScale* mCast;
72 vtkVolumeRayCastMIPFunction* mMIP;
73 vtkVolumeRayCastMapper* mMapper;
77 //=================================================================
78 // UserBlackBox description
79 BBTK_BEGIN_DESCRIBE_BLACK_BOX(MIPCreator,bbtk::AtomicBlackBox);
80 BBTK_NAME("MIPCreator");
81 BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
82 BBTK_DESCRIPTION("Creates a Maximum Intensity Projection (MIP) view of a 3D image. Creates a vtkProp3D object to insert into a 3D scene (e.g. a Viewer3D)");
83 BBTK_CATEGORY("3D object creator");
84 BBTK_INPUT(MIPCreator,Shift,"Gray scale shift",int,"");
85 BBTK_INPUT(MIPCreator,Scale,"Gray scale scaling",float,"");
86 BBTK_INPUT(MIPCreator,In,"Input Image",vtkImageData *,"");
87 BBTK_OUTPUT(MIPCreator,Out,"MIP object to plug into a 3D viewer",vtkProp3D*,"");
88 BBTK_END_DESCRIBE_BLACK_BOX(MIPCreator);
89 //=================================================================
94 #endif //__bbtvtkMIPCreator_h__