]> Creatis software - creaMaracasVisu.git/blob - lib/doxygen/DoxyMainPage.txt.in
#2532 creaMaracasVisu Feature New Normal - creaPanelButtonContainer All List Contain...
[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 #
14 # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
15 #                        pour la Sant�)
16 # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
17 # Previous Authors : Laurent Guigues, Jean-Pierre Roux
18 # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
19 #
20 #  This software is governed by the CeCILL-B license under French law and 
21 #  abiding by the rules of distribution of free software. You can  use, 
22 #  modify and/ or redistribute the software under the terms of the CeCILL-B 
23 #  license as circulated by CEA, CNRS and INRIA at the following URL 
24 #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
25 #  or in the file LICENSE.txt.
26 #
27 #  As a counterpart to the access to the source code and  rights to copy,
28 #  modify and redistribute granted by the license, users are provided only
29 #  with a limited warranty  and the software's author,  the holder of the
30 #  economic rights,  and the successive licensors  have only  limited
31 #  liability. 
32 #
33 #  The fact that you are presently reading this means that you have had
34 #  knowledge of the CeCILL-B license and that you accept its terms.
35 # ------------------------------------------------------------------------ */ 
36
37 -->
38
39
40 <style type="text/css">
41 .titles {
42         font-family: Geneva, Arial, Helvetica, sans-serif;
43         color: #000000;
44         font-size: large;
45         font-weight: bold;
46 }
47 .text {
48         font-family: Geneva, Arial, Helvetica, sans-serif;
49         font-size: small;
50         font-weight: normal;
51 }
52 a.el {
53 font-weight:bold;
54 text-decoration:none;
55 }
56 a {
57 color:#1A41A8;
58 }
59 .subtitles {
60         font-family: Geneva, Arial, Helvetica, sans-serif;
61         font-size: 90%;
62         font-weight: bold;
63         text-decoration: underline;
64 }
65 .listDiagrams {
66         font-family: Geneva, Arial, Helvetica, sans-serif;
67         margin-left: 25px;
68         font-size: small;
69         font-weight: bold;
70 }
71 .paragraph {
72         margin-left: 40px;
73         font-family: Geneva, Arial, Helvetica, sans-serif;
74         font-size: small;
75 }
76 .style1 {
77         text-decoration: underline;
78         font-weight: bold;
79 }
80 .style3 {
81         font-family: Geneva, Arial, Helvetica, sans-serif;
82         font-size: 21px;
83         text-decoration: underline;
84         text-align: justify;
85 }
86 .style4 {
87         font-family: Geneva, Arial, Helvetica, sans-serif;
88         color: #000000;
89         font-size: x-large;
90         font-weight: bold;
91         text-align: center;
92 }
93 </style>
94
95
96 <H2 class="style4">General Description</H2>
97 <H2><span class="text">First of all, <strong> 
98 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a></strong> is a C++ library developed by 
99 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/creatools">Creatools</a> 
100 software team and it follows the general architecture of Creatools architecture 
101 (more information in the 
102 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaToolsArchitecture">Creatools Architecture</a> diagram.
103 <strong> 
104 <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 
105 images and the interaction with them. </span></H2>
106 <hr />
107
108 <H2 class="style4">&nbsp;Architecture Description</H2>
109 <H2><span class="text">The core of the library is divided into 
110 different modules, and each one provides a list of diferent functionalities that can be 
111 used in specific contexts. The principal components are the following:<br />
112 <br />
113 - <a class="el" href="#ViewersInteractors">Viewers and interactors</a><br />
114 - <a class="el" href="#Contours">Contours</a><br />
115 - <a class="el" href="#Cutter">Cutter Module</a><br />
116 - <a class="el" href="#Plotter">Plotter and Data Representation</a><br />
117 - <a class="el" href="#ManualPaint">Manual Paint</a><br />
118 - <a class="el" href="#ThresholdImageView">Threshold Image View</a><br />
119 - <a class="el" href="#ButtonContainer">Button Container</a><br />
120
121 <br />
122 The relationship among this set of elements is described in the following 
123 diagram :<br />
124 <br />
125 &nbsp;&nbsp;&nbsp;&nbsp; - 
126 <a class="el" href="../GeneralArchitecture_HTML/index.html">Architecture Diagram</a></span></H2>
127 <hr />
128
129 <H2 class="style4">&nbsp;Modules Description</H2>
130 <p class="text">In this section are presented the corresponding diagrams for 
131 each model in <span class="text"> <strong> 
132 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a> </strong> </span>
133 library including classes, components and sequence diagrams, as well as a short 
134 description of the module of interest.</p>
135
136
137
138 <a name="ViewersInteractors"></a>
139 <div class="style3">
140         <br />
141                 Viewers and interactors</div>
142 <br />
143 <span class="text">This module provides a set of classes that manage the 
144 visualization and the interaction with images. For example, the black box 
145 ViewerNV is constructed using these classes and it provides the possibility to 
146 use different viewers depending of the context. For example, to manage an image 
147 3D is useful to use the wxVtk3DBaseBiew and to control a 2D image it is possible 
148 to use wxVtk2DBaseView. It is important to note that these viewers make the 
149 connection between a wxWindow and a vtkRenderWindow, in order to include the 
150 world VTK in any application implemented with wxWidgets.<br />
151 <br />
152 Another important point to keep in mind is that all the wxVtkBaseView instances 
153 have a manager of its interactor styles. These interactors describe how the 
154 events are handled and how the actual mechanism respond to the interaction 
155 callbacks. Every new instance of InteractorStyleMaracas class can be added to 
156 the wxBaseView in order to manage all the events made over an object. An example 
157 of this process is presented in the contours section.</span><br />
158 <br />
159 <span class="listDiagrams">Class diagrams</span><br />
160 <br />
161 <span class="listDiagrams">&nbsp;&nbsp;
162 <a href="../wxVtkViewer_classDiagram1_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 1</a><br>
163 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
164 <a href="../wxVtkViewer_classDiagram2_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 2</a></span><br />
165 &nbsp;<br>
166
167 <hr /><span class="subtitles"><a name="Contours"></a></span>
168 <span class="style3">Contours</span><br />
169 <br />
170 <span class="text">This module provides a set of tools to draw different types 
171 of contours over the viewers of the first section. In the MVC class diagram and 
172 the sequence diagram to create a new contour are explained the steps necessary 
173 to include this functionnality into a wx-vtk scene. An example of this process 
174 of creation of new contours is presented in the creaContours application. It is 
175 important to note that the contours follow as well the same interaction system 
176 of the wxVtkBaseView. It means that all the contour&#39;s controllers use the 
177 InteractorStyleMaracas system to manage the events of the mouse and the 
178 keyborard in the scene. In addition, every contour controller registered in the 
179 wxVtkBaseView with the method AddInteractorStyleMaracas of 
180 vtkInteractorStyleBaseView class (see the doxygen documentation of these 
181 classes) will react to the mouse and keyboard events, and for this reason is 
182 important to have a managing system of all the interactors in the scene.<br />
183 <br />
184 Regarding the different actions that can be made using the contours, they react 
185 in a different way depending of the actual state of each one of them. For 
186 example, when any contour is into an editable state, the control points are 
187 visualized and can be moved, removed, etc. In brief, the actions applied to the 
188 contours (check the <span class="text"> <strong> 
189 <a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaMaracasVisuUserGuide#Contours">User Guide</a> </strong> </span>
190  documentation) are described as a state diagram and every contours reacts 
191 depending of its state.</span><br />
192 <br />
193 <span class="listDiagrams">Class diagrams<br />
194 <br />
195 </strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
196         - 
197 <a href="../manualContour_MVC_HTML/index.html" class="el"> MVC (Model View Controller)</a> <br>
198 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Model_HTML/index.html" class="el">- Model</a> <br>
199 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_View_HTML/index.html" class="el">- View</a> <br>
200 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Controler_HTML/index.html" class="el">- Controller</a><br />
201 </div>
202 <br />
203 <span class="listDiagrams">Sequence diagrams</span><br />
204 <br />
205 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
206         - 
207 <a class="el" href="../manualContour_SeqCreateContour_HTML/index.html">To create a new 
208         contour MVC</a> 
209 <div class="paragraph">
210 When a new 
211         contour has to be created it is necessary to instantiate the MVC 
212         model shown in the section before. It is important to note that Contours 
213         module needs a viewer to draw and to manage the contour. For that reason, 
214         after creating the model, view and controller and their relations 
215         (Controller uses View and Model, and View has relation with the model), it 
216         is necessary to say the viewer where it will be managed. The specific 
217         methods to do this task are in the diagram.</div><br />
218 <hr /><span class="style3"><a name="Cutter"></a>Cutter</span><br>
219
220 <br />
221 <span class="listDiagrams">Component diagrams<br />
222 <br />
223 </strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
224         - 
225 <a href="../CutModuleDiagrams_HTML/index.html" class="el"> Cutter module 
226         components </a>
227 </div>
228
229 <br />
230 <span class="listDiagrams">Class diagrams<br />
231 <br />
232 </span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
233         <a href="../CutModuleDiagrams_HTML/fig141309.png" class="el"> Cutter module 
234         integration </a> <br>
235 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134653.png" class="el">- 
236         Interface</a> <br>
237 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134781.png" class="el">- 
238         Kernel</a></div>
239 <br />
240
241
242
243 <hr /><span class="style3"><a name="Plotter"></a>Plotter and data representation</span><br>
244 <br />
245 <span class="listDiagrams">Class diagrams</span><br class="style1" />
246 <br />
247 <div class="text">
248 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../pPlotter_HTML/index.html" class="el">- pPlotter Class Diagram</a> <br>
249 </div>
250
251
252 <hr /><span class="style3"><a name="ManualPaint"></a>Manual Paint</span><br>
253 <br />
254 <span class="listDiagrams">Class diagrams</span><br class="style1" />
255 <br />
256 <div class="text">
257 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../ManualPaint_html/index.html" class="el">- Manual Paint Class Diagram</a> <br>
258 </div>
259
260 <hr /><span class="style3"><a name="ThresholdImageView"></a>Threshold Image View</span><br>
261 <br />
262 <span class="listDiagrams">Class diagrams</span><br class="style1" />
263 <br />
264 <div class="text">
265 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../ThresholdImageView_html/index.html" class="el">- Threshold Image View Class Diagram</a> <br>
266 </div>
267
268
269 <hr /><span class="style3"><a name="ButtonContainer"></a>Button Container</span><br>
270 <br />
271 <span class="listDiagrams">Class diagrams</span><br class="style1" />
272 <br />
273 <div class="text">
274 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../ButtonContainerModify_HTML/fig128255.png" class="el">- Button Container Class Diagram</a> <br>
275 </div>
276
277 <br />
278 <span class="listDiagrams">Sequence diagrams<br />
279 <br />
280 </strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
281         - 
282 <a href="../ButtonContainerModify_HTML/fig134783.png" class="el"> Create List
283          </a>
284 </div>
285
286 <!-- ******************************************************************************* -->
287 <!--         End HTML Code         -->
288 <!-- ******************************************************************************* -->
289
290 \endhtmlonly
291
292          
293  */
294