]> Creatis software - creaMaracasVisu.git/blob - lib/doxygen/DoxyMainPage.txt.in
Changes in the main doxygen doc
[creaMaracasVisu.git] / lib / doxygen / DoxyMainPage.txt.in
1 /**
2  * \mainpage creaMaracasVisu documentation
3
4 \htmlonly 
5
6 <!-- ******************************************************************************* -->
7 <!-- Paste here the new code HTML for the main page of creaMaracasVisu documentation -->
8 <!-- It is possible to use the file TemplateHomeLibDoxygen.html to edit easily -->
9 <!-- but don't forget to delete head and body open tags. RaC -->
10 <!-- ******************************************************************************* -->
11
12
13 <style type="text/css">
14 .titles {
15         font-family: Geneva, Arial, Helvetica, sans-serif;
16         color: #000000;
17         font-size: large;
18         font-weight: bold;
19 }
20 .text {
21         font-family: Geneva, Arial, Helvetica, sans-serif;
22         font-size: small;
23         font-weight: normal;
24 }
25 a.el {
26 font-weight:bold;
27 text-decoration:none;
28 }
29 a {
30 color:#1A41A8;
31 }
32 .subtitles {
33         font-family: Geneva, Arial, Helvetica, sans-serif;
34         font-size: 90%;
35         font-weight: bold;
36         text-decoration: underline;
37 }
38 .listDiagrams {
39         font-family: Geneva, Arial, Helvetica, sans-serif;
40         margin-left: 25px;
41         font-size: small;
42         font-weight: bold;
43 }
44 .paragraph {
45         margin-left: 40px;
46         font-family: Geneva, Arial, Helvetica, sans-serif;
47         font-size: small;
48 }
49 .style1 {
50         text-decoration: underline;
51         font-weight: bold;
52 }
53 .style3 {
54         font-family: Geneva, Arial, Helvetica, sans-serif;
55         font-size: 21px;
56         text-decoration: underline;
57         text-align: justify;
58 }
59 .style4 {
60         font-family: Geneva, Arial, Helvetica, sans-serif;
61         color: #000000;
62         font-size: x-large;
63         font-weight: bold;
64         text-align: center;
65 }
66 </style>
67
68
69 <H2 class="style4">General Description</H2>
70 <H2><span class="text">First of all, <strong> 
71 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a></strong> is a C++ library developed by 
72 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/creatools">Creatools</a> 
73 software team and it follows the general architecture of Creatools architecture 
74 (more information in the 
75 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaToolsArchitecture">Creatools Architecture</a> diagram.
76 <strong> 
77 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a> </strong> has as principal objective to help the visualization of medical 
78 images and the interaction with them. </span></H2>
79 <hr />
80
81 <H2 class="style4">&nbsp;Architecture Description</H2>
82 <H2><span class="text">The core of the library is divided into 
83 different modules, and each one provides a list of diferent functionalities that can be 
84 used in specific contexts. The principal components are the following:<br />
85 <br />
86 - <a class="el" href="#ViewersInteractors">Viewers and interactors</a><br />
87 - <a class="el" href="#Contours">Contours</a><br />
88 - <a class="el" href="#Cutter">Cutter Module</a><br />
89 - <a class="el" href="#Plotter">Plotter and Data Representation</a><br />
90
91 <br />
92 The relationship among this set of elements is described in the following 
93 diagram :<br />
94 <br />
95 &nbsp;&nbsp;&nbsp;&nbsp; - 
96 <a class="el" href="../GeneralArchitecture_HTML/index.html">Architecture Diagram</a></span></H2>
97 <hr />
98
99 <H2 class="style4">&nbsp;Modules Description</H2>
100 <p class="text">In this section are presented the corresponding diagrams for 
101 each model in <span class="text"> <strong> 
102 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a> </strong> </span>
103 library including classes, components and sequence diagrams, as well as a short 
104 description of the module of interest.</p>
105
106
107
108 <a name="ViewersInteractors"></a>
109 <div class="style3">
110         <br />
111                 Viewers and interactors</div>
112 <br />
113 <span class="text">This module provides a set of classes that manage the 
114 visualization and the interaction with images. For example, the black box 
115 ViewerNV is constructed using these classes and it provides the possibility to 
116 use different viewers depending of the context. For example, to manage an image 
117 3D is useful to use the wxVtk3DBaseBiew and to control a 2D image it is possible 
118 to use wxVtk2DBaseView. It is important to note that these viewers make the 
119 connection between a wxWindow and a vtkRenderWindow, in order to include the 
120 world VTK in any application implemented with wxWidgets.<br />
121 <br />
122 Another important point to keep in mind is that all the wxVtkBaseView instances 
123 have a manager of its interactor styles. These interactors describe how the 
124 events are handled and how the actual mechanism respond to the interaction 
125 callbacks. Every new instance of InteractorStyleMaracas class can be added to 
126 the wxBaseView in order to manage all the events made over an object. An example 
127 of this process is presented in the contours section.</span><br />
128 <br />
129 <span class="listDiagrams">Class diagrams</span><br />
130 <br />
131 <span class="listDiagrams">&nbsp;&nbsp;
132 <a href="../wxVtkViewer_classDiagram1_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 1</a><br>
133 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
134 <a href="../wxVtkViewer_classDiagram2_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 2</a></span><br />
135 &nbsp;<br>
136
137 <hr /><span class="subtitles"><a name="Contours"></a></span>
138 <span class="style3">Contours</span><br />
139 <br />
140 <span class="text">This module provides a set of tools to draw different types 
141 of contours over the viewers of the first section. In the MVC class diagram and 
142 the sequence diagram to create a new contour are explained the steps necessary 
143 to include this functionnality into a wx-vtk scene. An example of this process 
144 of creation of new contours is presented in the creaContours application. It is 
145 important to note that the contours follow as well the same interaction system 
146 of the wxVtkBaseView. It means that all the contour&#39;s controllers use the 
147 InteractorStyleMaracas system to manage the events of the mouse and the 
148 keyborard in the scene. In addition, every contour controller registered in the 
149 wxVtkBaseView with the method AddInteractorStyleMaracas of 
150 vtkInteractorStyleBaseView class (see the doxygen documentation of these 
151 classes) will react to the mouse and keyboard events, and for this reason is 
152 important to have a managing system of all the interactors in the scene.<br />
153 <br />
154 Regarding the different actions that can be made using the contours, they react 
155 in a different way depending of the actual state of each one of them. For 
156 example, when any contour is into an editable state, the control points are 
157 visualized and can be moved, removed, etc. In brief, the actions applied to the 
158 contours (check the <span class="text"> <strong> 
159 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaMaracasVisuUserGuide#Contours">User Guide</a> </strong> </span>
160  documentation) are described as a state diagram and every contours reacts 
161 depending of its state.</span><br />
162 <br />
163 <span class="listDiagrams">Class diagrams<br />
164 <br />
165 </strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
166         - 
167 <a href="../manualContour_MVC_HTML/index.html" class="el"> MVC (Model View Controller)</a> <br>
168 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Model_HTML/index.html" class="el">- Model</a> <br>
169 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_View_HTML/index.html" class="el">- View</a> <br>
170 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Controler_HTML/index.html" class="el">- Controller</a><br />
171 </div>
172 <br />
173 <span class="listDiagrams">Sequence diagrams</span><br />
174 <br />
175 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
176         - 
177 <a class="el" href="../manualContour_SeqCreateContour_HTML/index.html">To create a new 
178         contour MVC</a> 
179 <div class="paragraph">
180 When a new 
181         contour has to be created it is necessary to instantiate the MVC 
182         model shown in the section before. It is important to note that Contours 
183         module needs a viewer to draw and to manage the contour. For that reason, 
184         after creating the model, view and controller and their relations 
185         (Controller uses View and Model, and View has relation with the model), it 
186         is necessary to say the viewer where it will be managed. The specific 
187         methods to do this task are in the diagram.</div><br />
188 <hr /><span class="style3"><a name="Cutter"></a>Cutter</span><br>
189
190 <br />
191 <span class="listDiagrams">Component diagrams<br />
192 <br />
193 </strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
194         - 
195 <a href="../CutModuleDiagrams_HTML/index.html" class="el"> Cutter module 
196         components </a>
197 </div>
198
199 <br />
200 <span class="listDiagrams">Class diagrams<br />
201 <br />
202 </span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
203         <a href="../CutModuleDiagrams_HTML/fig141309.png" class="el"> Cutter module 
204         integration </a> <br>
205 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134653.png" class="el">- 
206         Interface</a> <br>
207 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134781.png" class="el">- 
208         Kernel</a></div>
209 <br />
210 <hr /><span class="style3"><a name="Plotter"></a>Plotter and data representation</span><br>
211
212 <br />
213
214 <span class="listDiagrams">Class diagrams</span><br class="style1" />
215 <br />
216 <div class="text">
217 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../pPlotter_HTML/index.html" class="el">- pPlotter Class Diagram</a> <br>
218 </div>
219
220
221
222
223
224 <!-- ******************************************************************************* -->
225 <!--         End HTML Code         -->
226 <!-- ******************************************************************************* -->
227
228 \endhtmlonly
229
230          
231  */