]> Creatis software - creaMaracasVisu.git/blobdiff - lib/doxygen/DoxyMainPage.txt.in
#2532 creaMaracasVisu Feature New Normal - creaPanelButtonContainer All List Contain...
[creaMaracasVisu.git] / lib / doxygen / DoxyMainPage.txt.in
index c85928d9f72802177cad1189f2121af984e06ea9..f49cc28d71fe0f9a390f76c1e458c3f827196392 100644 (file)
 /**
- * \mainpage creaImageIO documentation
+ * \mainpage creaMaracasVisu documentation
 
 \htmlonly 
-<H2>Architecture Description (v2)</H2>
-<br>
-<a href="Architecture.htm"> Architecture </a>
-<br>
-
-<H2>Diagrams of the architecture</H2>
-<br>
-<a href="ClassDiagram.htm"> Class Diagram </a>
-<br>
-<a href="ComponentDiagram.htm"> Component Diagram </a>
-<br>
-<a href="LayerDiagram.htm"> Layer Diagram </a>
-<br>
-
-<H2>Sequence Diagrams</H2>
-<br>
-<a href="SeqAddFile.htm"> On "Add Files" to a database </a>
-<br>
-<a href="SeqAddDir.htm"> On "Add Directories" to a database </a>
-<br>
-<a href="SeqRemove.htm"> On "Remove Files" from database </a>
-<br>
-<a href="SeqCreateDB.htm"> On "Create a database" </a>
-<br>
-<a href="SeqSelChanged.htm"> On "Selection has changed" </a>
-<br>
-<a href="SeqGetImages.htm"> On "Get Selected Images as VTK structures" </a>
-<br>
 
-\endhtmlonly
+<!-- ******************************************************************************* -->
+<!-- Paste here the new code HTML for the main page of creaMaracasVisu documentation -->
+<!-- It is possible to use the file TemplateHomeLibDoxygen.html to edit easily -->
+<!-- but don't forget to delete head and body open tags. RaC -->
+<!-- ******************************************************************************* -->
+<!--
+# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image 
+#                        pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+#  This software is governed by the CeCILL-B license under French law and 
+#  abiding by the rules of distribution of free software. You can  use, 
+#  modify and/ or redistribute the software under the terms of the CeCILL-B 
+#  license as circulated by CEA, CNRS and INRIA at the following URL 
+#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html 
+#  or in the file LICENSE.txt.
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability. 
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */ 
+
+-->
+
+
+<style type="text/css">
+.titles {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       color: #000000;
+       font-size: large;
+       font-weight: bold;
+}
+.text {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: small;
+       font-weight: normal;
+}
+a.el {
+font-weight:bold;
+text-decoration:none;
+}
+a {
+color:#1A41A8;
+}
+.subtitles {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: 90%;
+       font-weight: bold;
+       text-decoration: underline;
+}
+.listDiagrams {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       margin-left: 25px;
+       font-size: small;
+       font-weight: bold;
+}
+.paragraph {
+       margin-left: 40px;
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: small;
+}
+.style1 {
+       text-decoration: underline;
+       font-weight: bold;
+}
+.style3 {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       font-size: 21px;
+       text-decoration: underline;
+       text-align: justify;
+}
+.style4 {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+       color: #000000;
+       font-size: x-large;
+       font-weight: bold;
+       text-align: center;
+}
+</style>
+
+
+<H2 class="style4">General Description</H2>
+<H2><span class="text">First of all, <strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a></strong> is a C++ library developed by 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/creatools">Creatools</a> 
+software team and it follows the general architecture of Creatools architecture 
+(more information in the 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaToolsArchitecture">Creatools Architecture</a> diagram.
+<strong> 
+<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 
+images and the interaction with them. </span></H2>
+<hr />
+
+<H2 class="style4">&nbsp;Architecture Description</H2>
+<H2><span class="text">The core of the library is divided into 
+different modules, and each one provides a list of diferent functionalities that can be 
+used in specific contexts. The principal components are the following:<br />
+<br />
+- <a class="el" href="#ViewersInteractors">Viewers and interactors</a><br />
+- <a class="el" href="#Contours">Contours</a><br />
+- <a class="el" href="#Cutter">Cutter Module</a><br />
+- <a class="el" href="#Plotter">Plotter and Data Representation</a><br />
+- <a class="el" href="#ManualPaint">Manual Paint</a><br />
+- <a class="el" href="#ThresholdImageView">Threshold Image View</a><br />
+- <a class="el" href="#ButtonContainer">Button Container</a><br />
+
+<br />
+The relationship among this set of elements is described in the following 
+diagram :<br />
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp; - 
+<a class="el" href="../GeneralArchitecture_HTML/index.html">Architecture Diagram</a></span></H2>
+<hr />
+
+<H2 class="style4">&nbsp;Modules Description</H2>
+<p class="text">In this section are presented the corresponding diagrams for 
+each model in <span class="text"> <strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreatoolsBBTKPackageCreaMaracasVisuUserInteractionDescription">creaMaracasVisu</a> </strong> </span>
+library including classes, components and sequence diagrams, as well as a short 
+description of the module of interest.</p>
+
+
+
+<a name="ViewersInteractors"></a>
+<div class="style3">
+       <br />
+               Viewers and interactors</div>
+<br />
+<span class="text">This module provides a set of classes that manage the 
+visualization and the interaction with images. For example, the black box 
+ViewerNV is constructed using these classes and it provides the possibility to 
+use different viewers depending of the context. For example, to manage an image 
+3D is useful to use the wxVtk3DBaseBiew and to control a 2D image it is possible 
+to use wxVtk2DBaseView. It is important to note that these viewers make the 
+connection between a wxWindow and a vtkRenderWindow, in order to include the 
+world VTK in any application implemented with wxWidgets.<br />
+<br />
+Another important point to keep in mind is that all the wxVtkBaseView instances 
+have a manager of its interactor styles. These interactors describe how the 
+events are handled and how the actual mechanism respond to the interaction 
+callbacks. Every new instance of InteractorStyleMaracas class can be added to 
+the wxBaseView in order to manage all the events made over an object. An example 
+of this process is presented in the contours section.</span><br />
+<br />
+<span class="listDiagrams">Class diagrams</span><br />
+<br />
+<span class="listDiagrams">&nbsp;&nbsp;
+<a href="../wxVtkViewer_classDiagram1_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 1</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+<a href="../wxVtkViewer_classDiagram2_HTML/index.html" class="el"> - wxVtkViewer Class Diagram 2</a></span><br />
+&nbsp;<br>
+
+<hr /><span class="subtitles"><a name="Contours"></a></span>
+<span class="style3">Contours</span><br />
+<br />
+<span class="text">This module provides a set of tools to draw different types 
+of contours over the viewers of the first section. In the MVC class diagram and 
+the sequence diagram to create a new contour are explained the steps necessary 
+to include this functionnality into a wx-vtk scene. An example of this process 
+of creation of new contours is presented in the creaContours application. It is 
+important to note that the contours follow as well the same interaction system 
+of the wxVtkBaseView. It means that all the contour&#39;s controllers use the 
+InteractorStyleMaracas system to manage the events of the mouse and the 
+keyborard in the scene. In addition, every contour controller registered in the 
+wxVtkBaseView with the method AddInteractorStyleMaracas of 
+vtkInteractorStyleBaseView class (see the doxygen documentation of these 
+classes) will react to the mouse and keyboard events, and for this reason is 
+important to have a managing system of all the interactors in the scene.<br />
+<br />
+Regarding the different actions that can be made using the contours, they react 
+in a different way depending of the actual state of each one of them. For 
+example, when any contour is into an editable state, the control points are 
+visualized and can be moved, removed, etc. In brief, the actions applied to the 
+contours (check the <span class="text"> <strong> 
+<a class="el" href="http://www.creatis.insa-lyon.fr/site/fr/CreaMaracasVisuUserGuide#Contours">User Guide</a> </strong> </span>
+ documentation) are described as a state diagram and every contours reacts 
+depending of its state.</span><br />
+<br />
+<span class="listDiagrams">Class diagrams<br />
+<br />
+</strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a href="../manualContour_MVC_HTML/index.html" class="el"> MVC (Model View Controller)</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Model_HTML/index.html" class="el">- Model</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_View_HTML/index.html" class="el">- View</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../manualContour_Controler_HTML/index.html" class="el">- Controller</a><br />
+</div>
+<br />
+<span class="listDiagrams">Sequence diagrams</span><br />
+<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a class="el" href="../manualContour_SeqCreateContour_HTML/index.html">To create a new 
+       contour MVC</a> 
+<div class="paragraph">
+When a new 
+       contour has to be created it is necessary to instantiate the MVC 
+       model shown in the section before. It is important to note that Contours 
+       module needs a viewer to draw and to manage the contour. For that reason, 
+       after creating the model, view and controller and their relations 
+       (Controller uses View and Model, and View has relation with the model), it 
+       is necessary to say the viewer where it will be managed. The specific 
+       methods to do this task are in the diagram.</div><br />
+<hr /><span class="style3"><a name="Cutter"></a>Cutter</span><br>
 
+<br />
+<span class="listDiagrams">Component diagrams<br />
+<br />
+</strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a href="../CutModuleDiagrams_HTML/index.html" class="el"> Cutter module 
+       components </a>
+</div>
 
+<br />
+<span class="listDiagrams">Class diagrams<br />
+<br />
+</span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -
+       <a href="../CutModuleDiagrams_HTML/fig141309.png" class="el"> Cutter module 
+       integration </a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134653.png" class="el">- 
+       Interface</a> <br>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../CutModuleDiagrams_HTML/fig134781.png" class="el">- 
+       Kernel</a></div>
+<br />
 
 
+
+<hr /><span class="style3"><a name="Plotter"></a>Plotter and data representation</span><br>
+<br />
+<span class="listDiagrams">Class diagrams</span><br class="style1" />
+<br />
+<div class="text">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../pPlotter_HTML/index.html" class="el">- pPlotter Class Diagram</a> <br>
+</div>
+
+
+<hr /><span class="style3"><a name="ManualPaint"></a>Manual Paint</span><br>
+<br />
+<span class="listDiagrams">Class diagrams</span><br class="style1" />
+<br />
+<div class="text">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../ManualPaint_html/index.html" class="el">- Manual Paint Class Diagram</a> <br>
+</div>
+
+<hr /><span class="style3"><a name="ThresholdImageView"></a>Threshold Image View</span><br>
+<br />
+<span class="listDiagrams">Class diagrams</span><br class="style1" />
+<br />
+<div class="text">
+&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>
+</div>
+
+
+<hr /><span class="style3"><a name="ButtonContainer"></a>Button Container</span><br>
+<br />
+<span class="listDiagrams">Class diagrams</span><br class="style1" />
+<br />
+<div class="text">
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="../ButtonContainerModify_HTML/fig128255.png" class="el">- Button Container Class Diagram</a> <br>
+</div>
+
+<br />
+<span class="listDiagrams">Sequence diagrams<br />
+<br />
+</strong></span><div class="text">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
+       - 
+<a href="../ButtonContainerModify_HTML/fig134783.png" class="el"> Create List
+        </a>
+</div>
+
+<!-- ******************************************************************************* -->
+<!--         End HTML Code         -->
+<!-- ******************************************************************************* -->
+
+\endhtmlonly
+
          
- */
\ No newline at end of file
+ */
+