]> Creatis software - bbtk.git/blob - kernel/doc/bbtkUsersGuide/bbtkReferenceManual.tex
Feature #1774
[bbtk.git] / kernel / doc / bbtkUsersGuide / bbtkReferenceManual.tex
1 % # ---------------------------------------------------------------------
2 % #
3 % # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
4 % #                        pour la SantÈ)
5 % # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
6 % # Previous Authors : Laurent Guigues, Jean-Pierre Roux
7 % # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
8 % #
9 % #  This software is governed by the CeCILL-B license under French law and
10 % #  abiding by the rules of distribution of free software. You can  use,
11 % #  modify and/ or redistribute the software under the terms of the CeCILL-B
12 % #  license as circulated by CEA, CNRS and INRIA at the following URL
13 % #  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
14 % #  or in the file LICENSE.txt.
15 % #
16 % #  As a counterpart to the access to the source code and  rights to copy,
17 % #  modify and redistribute granted by the license, users are provided only
18 % #  with a limited warranty  and the software's author,  the holder of the
19 % #  economic rights,  and the successive licensors  have only  limited
20 % #  liability.
21 % #
22 % #  The fact that you are presently reading this means that you have had
23 % #  knowledge of the CeCILL-B license and that you accept its terms.
24 % # ------------------------------------------------------------------------ */
25 %
26
27 % ==========================================
28 \documentclass[11pt,final,a4paper]{article}
29 \input{config.tex}
30
31
32
33
34
35 \begin{document}
36
37 \begin{center}
38
39 {\Large \BBTK}
40 \vspace{1cm}
41
42 {\Huge Reference Manual}
43 \vspace{1cm}
44
45 \bbtk version \bbtkVersion
46 \vspace{0.5cm}
47
48
49 Last modified on : September 20 2008 \\
50 Generated on : \today 
51 \vspace{0.5cm}
52 \end{center}
53 \begin{center}
54 Fr\'ed\'eric Cervenansky, Eduardo D\'avila, Laurent Guigues, Jean-Pierre Roux
55 \end{center}
56 \begin{center}
57 CREATIS, Centre de Recherche en Imagerie M\'edicale \\ CNRS UMR 5220, INSERM U1044\\
58 INSA Lyon\\
59 Universit\'e Claude-Bernard Lyon 1\\
60 http://www.creatis.insa-lyon.fr/site/en/CreatoolsBBTK
61 \end{center}
62
63
64
65
66
67 % ==========================================
68 \tableofcontents
69 % ==========================================
70
71 \listoftables
72
73 \listoffigures
74
75
76
77 % ==========================================
78 %\section*{Abstract}
79 % ==========================================
80 \newpage
81 % ==========================================
82 \hrule
83
84
85 \begin{verbatim}
86 ---> Should be moved in a 'Reference Manual' ?\\
87 ---> Any suggestion welcome!
88
89 --> The following is just the concatenation of various parts, removed from different 'manuals', and wainting for
90 their new affectation.
91 \end{verbatim}
92
93 \section{aaa}
94 \subsection{bbb}
95
96 \begin{table}[!ht]
97 \caption{\label{kinds} \texttt{Black Box} kinds}
98 \small
99 \begin{tabular}{|ll|}
100 \hline
101 \texttt{Kind name}                & : Meaning                          \\ \hline \\ \hline
102 \texttt{ADAPTOR}                  & : Adaptor Box                      \\ \hline
103 \texttt{DEFAULT\_ADAPTOR}         & :                                  \\ \hline
104 \texttt{WIDGET\_ADAPTOR}          & :                                  \\ \hline
105 \texttt{DEFAULT\_WIDGET\_ADAPTOR} & :                                  \\ \hline
106 \texttt{GUI}                      & :                                  \\ \hline
107 \texttt{DEFAULT\_GUI}             & :                                  \\ \hline
108 \texttt{ALL}                      & : If kind='ALL' then sets the level for all kinds \\ \hline
109 \end{tabular}
110 \end{table}
111
112
113
114         
115    \bf\emph{Boxes} : Box retrieving on various criterions :
116       \begin{itemize}
117         \item {\bf\emph{By name}} (Alphabetical list)
118         \item {\bf\emph{By package}}  (see table : \ref{bbi-list_of_packages})
119         \item {\bf\emph{By category}} (see table : \ref{categories})
120         \item {\bf\emph{Adaptors}} Used internaly to perform type conversions (not end user intended)     
121       \end{itemize}
122
123
124
125 % ==========================================
126 \begin{table}[!ht]
127 \caption{\label{bbi-list_of_packages} List of bbtk supplied packages.}
128 \small
129 \begin{tabular}{|lp{10cm}|}
130 \hline
131 Package         & What it's used for \\ \hline
132 \texttt{std}    & : the 'standard' package including basic useful boxes \\ \hline 
133 \texttt{wx}     & : basic graphical interface elements (widgets : sliders, buttons, etc.) based on the \texttt{wxWidgets} library \\ \hline 
134 \itk    & : the basic image processing package, based on the \itk library. (without description)\\ \hline 
135 \vtk    & : prints help on the package \texttt{package-name} and its boxes (with brief description). The package must have been previously loaded\\ \hline 
136 \texttt{wxvtk}  & : widget boxes based on the \vtk library.\\ \hline 
137 \texttt{itkvtk} & : adaptors to convert \itk structures into \vtk structures and conversally.\\ \hline 
138 %\texttt{creaImageIO} & : provides high level widgets to read images including DICOM.\\ \hline 
139 \texttt{toolsbbtk} & : Tools for bbtk administration and package development.\\ \hline 
140
141 \end{tabular}
142 \end{table}
143 % ==========================================
144
145
146
147 % ==========================================
148 \begin{table}[!ht]
149 \caption{\label{categories} \texttt{Black Box} categories}
150 \small
151 \begin{tabular}{|lp{10cm}|}
152 \hline
153  \texttt{Category name}  & : Meaning                                          \\ \hline \\ \hline
154  \texttt{adaptor}        & : Adaptor box                                      \\ \hline
155  \texttt{application}    & : Final application, end user intended             \\ \hline
156  \texttt{atomic box}     & : System category.
157                Automatically assigned to Atomic Black Boxes (c++ defined)     \\ \hline
158  \texttt{complex box}    & : System category.
159                Automatically assigned to Complex Black Boxes (script defined) \\ \hline  
160  \texttt{command line}   & : Script which defines a command line application \\ 
161                          & :(no embedded GUI, but command line imput parameters) \\ \hline
162  \texttt{demo}           & : Demonstration                             \\ \hline
163  \texttt{devel}          & : Developer tool (bbCreatePackage.bbs, ...) \\ \hline
164  \texttt{dicom}          & : DICOM aware box                            \\ \hline 
165  \texttt{example}        & : Example script showing a box use-case      \\ \hline
166  \texttt{filter}         & : Image processing box                       \\ \hline
167  \texttt{image}          & : Image processing related box               \\ \hline
168  \texttt{interaction}    & :                                            \\ \hline
169  \texttt{math}           & : Mathematical operations                    \\ \hline
170  \texttt{mesh}           & : Mesh processing related box                 \\ \hline
171  \texttt{misc}           & : Box that cannot be put in any other category ! \\ \hline
172  \texttt{read/write}     & : Box that read or write data from or to disk  \\ \hline
173  \texttt{viewer}         & : Box which displays some data                \\ \hline
174  \texttt{widget}         & : Piece of graphical interface                \\ \hline  
175  \texttt{3D object creator} & : Sophisticated 3D widget  \\ \hline  
176  \texttt{toolsbbtk}         & : Component of bbStudio    \\ \hline  
177 \end{tabular}
178 \end{table}
179
180 % ==========================================
181
182
183
184 % ==========================================
185 \subsubsection{complex black box definition related commands}
186 \label{bbi-reference-black-box-definition}
187 % ==========================================
188
189 See table \ref{bbi-reference-complex-box} 
190 % ==========================================
191 \begin{table}[!ht]
192 \caption{\label{bbi-reference-complex-box} \bbi complex black box definition related commands.}
193 \small
194 \begin{tabular}{|lcm{6cm}|}
195 \hline
196 Command & Parameters & Effect \\ \hline
197
198
199 \texttt{define} & \texttt{<box-type>} & 
200 Starts the definition of a complex black box of type  
201 \texttt{box-type}\\ \hline 
202
203 \texttt{endefine} & - & 
204 Ends the definition of a complex black box type\\ \hline 
205
206 \texttt{author} & \texttt{<string>} & 
207 Sets the author(s) of the complex black box currently being defined \\ \hline 
208
209 \texttt{description} & \texttt{<string>} & 
210 Sets the description of the complex black box currently being defined \\ \hline 
211
212 \texttt{input} & \texttt{<name>} \texttt{<box.input>} \texttt{<help>} & 
213 Defines a new input for the current complex black box, 
214 named \texttt{name}. 
215 It is defined as corresponding to 
216 the input \texttt{input} of the box \texttt{box}.
217  
218 \texttt{<help>} is the help string for the new input.
219 The box \texttt{box} must already have been created in the complex box 
220 and of course have an input named \texttt{input}.\\ \hline 
221
222 \texttt{output} & \texttt{<name>} \texttt{<box.output>} \texttt{<help>} & 
223 Defines a new output for the current complex black box, 
224 named \texttt{name}. 
225 It is defined as corresponding to 
226 the output \texttt{output} of the box \texttt{box}. 
227 \texttt{<help>} is the help string for the new output.
228 The box \texttt{box} must already have been created in the complex box and of course have an output named \texttt{output}. \\ \hline 
229
230
231 \end{tabular}
232 \end{table}
233
234 % ==========================================
235 \subsubsection{Interpreter related commands}
236 \label{bbi-reference-interpreter}
237 % ==========================================
238 See table \ref{tabbbi-reference-interpreter_1} and \ref{tabbbi-reference-interpreter_2}
239 % ==========================================
240 \begin{table}[!ht]
241 \caption{\label{tabbbi-reference-interpreter_1}\bbi intepreter related commands (part 1).}
242 \small
243 \begin{tabular}{|lcm{6cm}|}
244 \hline
245 Command & Parameters & Effect \\ \hline
246
247 \texttt{author} &  \texttt{<author-name>} & 
248 Adds the string \texttt{<author-name>} to the author information of the black box being defined \\ \hline 
249
250 \texttt{category} & \texttt{<category-name>} & 
251   Adds the string \texttt{<category-name>} to the category information of the black box being defined \\ \hline 
252
253 \texttt{help} & - & 
254 Prints help on available commands \\ \hline 
255
256 & \texttt{<command-name>} & 
257 Prints help on the command \texttt{command-name} \\ \hline 
258
259 & \texttt{packages} & 
260 Prints help on available packages and their box types 
261 (without description)\\ \hline 
262
263 & \texttt{<package-name>} & 
264 Prints help on the package \texttt{package-name} and its boxes 
265 (with brief description). 
266 The package must have been previously loaded \\ \hline 
267
268 & \texttt{<box-type>} & 
269 Prints help (with full description) on the type of box 
270 \texttt{box-type}. 
271 The box type must belong to a package which has been previously loaded \\ \hline 
272
273 & \texttt{<debug-directive>} & 
274 [expr|-C|-D] 
275   Prints debug info on living bbtk objects containing the string \texttt{expr} (default expr=''). 
276          \texttt{-C} checks the factory integrity.
277          \texttt{-D} turns on objects debug info after main ends\\ \hline 
278
279 \texttt{include} & \texttt{<file-name>} & 
280 Includes and executes the content of the file named \texttt{file-name} 
281 exactly like if you were typing its content at the place were the 
282 \texttt{include} command is. \\ \hline 
283
284 \texttt{load} & \texttt{<package-name>} & 
285 Loads the package \texttt{package-name} (use it only if you know that you won't work with complex black boxes) \\ \hline 
286
287 \texttt{include} & \texttt{<package-name>} & 
288 Loads the package \texttt{package-name} and includes all the complex black boxes that comes with it \\ \hline 
289
290 \texttt{kind} & \texttt{<box kind>} & 
291 Specifies the \texttt{kind} of the complex black boxes you are describing \\ \hline 
292 \end{tabular}
293 \end{table}
294
295
296
297 %
298 % This arbitrary part1/part2 is to avoid to have all the tables at the end of the docoment ...
299 %
300
301 \begin{table}[!ht]
302 \caption{\label{tabbbi-reference-interpreter_2}\bbi intepreter related commands (part 2).}
303 \small
304 \begin{tabular}{|lcm{6cm}|}
305 \hline
306 Command & Parameters & Effect \\ \hline
307 \texttt{unload} & \texttt{<package-name>}& 
308 Unloads the package \texttt{package-name}. 
309 The package must have been previously loaded. 
310 No box of a type defined in this package must still exist.\\ \hline 
311
312 \texttt{message} & \texttt{<category>} \texttt{<level>} & 
313 Sets the level of verbosity of \bbi for the category of messages 
314 \texttt{category} to \texttt{level}.\\ \hline 
315 %See \ref{verbosity}.
316
317 \texttt{config} & - & Displays the Configuration parameters\\ \hline 
318
319 \texttt{reset} & - & Deletes all boxes and unloads all packages so 
320 that \bbi gets back to its initial state \\ \hline 
321
322 \texttt{quit} & - & Exits the interpreter (Don't use it under \bbStudions)\\ \hline 
323
324 \end{tabular}
325 \end{table}
326
327
328 \subsection{ccc}
329
330 \begin{verbatim}
331 ---> Should be moved in a 'Reference Manual' ?\\
332 ---> Any suggestion welcome!
333 \end{verbatim}
334
335 % ==========================================
336 \subsubsection{Black box packages}
337 \label{bbi-more-on-packages}
338 % ==========================================
339
340 There are various others user-intended packages :
341 \begin{itemize}
342 \item{vtk} \\
343 It contains some vtk based image processing filters :
344 %   \begin{enumerate}
345
346      \paragraph{AppendPolyData}
347      Appends one of more polygonal datasets into a single polygonal dataset 
348
349      \paragraph{ConeSource}
350      Creates a Cone 
351
352      \paragraph{ImageAnisotropicDiffusion3D}
353 vtk\-Image\-Anisotropic\-Diffusion\-3D dif\-fuses a volume iteratively. \\
354 The neighborhood of the diffusion is determined by the instance flags. \\
355 if 'Faces' is on, the 6 voxels adjoined by faces are included in the neighborhood. \\
356 If 'Edges' is on the 12 edge connected voxels are included, and if 'Corners' is on, the 8 corner connected voxels are included. \\
357 'DiffusionFactor' determines how far a pixel value moves toward its neighbors, and is insensitive to the number of neighbors chosen.\\ 
358 The diffusion is anisotropic because it only occurs when a gradient measure is below 'GradientThreshold'. \\
359 Two gradient measures exist and are toggled by the 'GradientMagnitudeThreshold' flag. \\
360 When 'GradientMagnitudeThreshold' is on, the magnitude of the gradient, computed by central differences, above 'DiffusionThreshold' a voxel is not
361 modified. \\
362 The alternative measure examines each neighbor independently.\\ 
363 The gradient between the voxel and the neighbor must be below the 'DiffusionThreshold' for diffusion to occur with THAT neighbor.\\
364      Receives : \\
365      - In : an image (vtkImageData*)\\
366      - Diffusion : Difference threshold that stops the diffusion\\
367      Outputs : \\
368      - Out : the isosurface mesh (vtkPolyData*)
369      
370      \paragraph{ImageCharacteristics}
371      Exports objet sizes, and Spacings
372      
373      \paragraph{ImageDilateErode3D}
374
375      Dilates one value and erodes another.\\ 
376      vtkImageDilateErode3D will dilate one value and erode another. \\
377      It uses an elliptical foot print, and only erodes/dilates on the boundary of the two values. \\
378      The filter is restricted to the X, Y, and Z axes for now.\\ 
379      It can degenerate to a 2 or 1 dimensional filter by setting the kernel size to 1 for a specific axis. \\
380      (bbfication of vtkImageDilateErode3D) \\
381      Receives : \\
382      - In : an image (vtkImageData*)\\
383      - DilateValue : The dilatation value\\
384      - ErodeValue : The erosion value\\
385      Outputs : \\
386      - Out : the isosurface mesh (vtkPolyData*)     
387      
388      \paragraph{ImageGaussianSmooth}
389      Performs a gaussian convolution of the input image\\
390      Receives : \\
391      - In : an image (vtkImageData*)\\
392      - StdDevX : Standard deviation in X direction\\
393      - StdDevY : Standard deviation in Y direction\\
394      Outputs : \\
395      - Out : the isosurface mesh (vtkPolyData*)       
396      
397      \paragraph{ImagePlanes}
398      Creates three 3D planes with the input image mapped onto with which the user can interact; \\ 
399      The output vtkImagePlaneWidget objects are to be inserted into a 3D scene (e.g. a Viewer3D)
400      Receives : \\
401      - In : an image (vtkImageData*)\\
402      Outputs : \\     
403      - PlaneX : the image plane in X direction (vtkImagePlaneWidget*)\\
404      - PlaneY : the image plane in Y direction (vtkImagePlaneWidget*)\\
405      - PlaneY : the image plane in Z direction (vtkImagePlaneWidget*)\\
406      
407           Outputs : \\
408      - Out : the isosurface mesh (vtkPolyData*)  
409            
410      \paragraph{IsoSurfaceExtractor}
411      Extracts an iso-surface of a 3D image and creates a vtkProp3D object to insert into a 3D scene (e.g. a Viewer3D)
412      Receives : \\
413      - In : an image (vtkImageData*)\\
414      - Isovalue : the isosurface value (double)\\
415      - Colour : Surface colour (vector of 3 doubles)
416      Outputs : \\
417      - Out : the isosurface (vtkProp3D**)
418      
419       \paragraph{MIPCreator}     
420      Creates a Maximum Intensity Projection (MIP) view of a 3D image.\\
421      Receives : \\
422      - In : an image (vtkImageData*)\\
423      - Scale : the Gray scale scaling (float) \\
424      - Shift : the Gray scale shift (float) \\    
425      Ouputs : \\
426      - Out : The MIP object (vtkProp3D*) to be plugged into a 3D Viever
427     
428      \paragraph{MarchingCubes}
429      Extracts an iso-surface of an image using the marching cubes algorithm (bbfication of vtkMarchingCubes)\\
430      Receives : \\
431      - In : an image (vtkImageData*)\\
432      - Value : the isosurface value (double)\\
433      Outputs : \\
434      - Out : the isosurface mesh (vtkPolyData*)
435
436      \paragraph{MetaImageReader}
437      Reads .mhd / .mhd image formats (bbfication of vtkMetaImageReader) \\
438      Receives : \\
439      - In : the name of the file to be read (std::string)
440      Outputs :
441      - Out : The image (vtkImageData*)     
442      
443      \paragraph{SegmentationConnectivity}
444      Segmentation with min max threshold and connectivity  \\  
445      Receives : \\
446      - In : an image (vtkImageData*)\\
447      - PositionXYZ : initial position (std::vector<int>) \\
448      - ThresholdMinMax : min, max threshold values (std::vector<int>) \\
449      Outputs : \\
450      - Out : The image (vtkImageData*)       
451           
452      \paragraph{SphereSource}
453      Creates a Sphere      
454 %   \end{enumerate}
455
456 \item{itk} \\
457 It contains some itk based image processing filters :
458  
459      \paragraph{BinaryThresholdImageFilter}
460      Binarizes an image by thresholding (generic bbification of itk::BinaryThresholdImageFilter) 
461      Receives : \\ 
462
463       - In :             Input image. Can be any itk::Image<T,D>*    \\
464       - InsideValue :    Output value for pixels inside thresholds (Double)    \\
465       - LowerThreshold :   Lower threshold(Double)    \\
466       - OutsideValue   :   Output value for pixels outside thresholds (Double)    \\
467       - UpperThreshold :   Upper threshold (Double)    \\
468       Outputs :     \\
469       - Out'        : Output image. Of the same type and dimension than the input image
470      
471      \paragraph{DICOMSeriesFileNames}
472      Reads a series from a DICOM directory as a 3D itk image     
473
474      \paragraph{ExtractImageFilter}
475      Decrease the image size by cropping the image to the selected region bounds (bbification of itk::ExtractImageFilter)     
476
477      \paragraph{ImageProperties}
478      Outputs different properties of an image (type, dimension, size, spacing, ...)      
479
480      \paragraph{ImageRegion}
481 Creates a generic ImageRegion (bbtk::any) from two vectors providing the index and size of the region. 
482 The dimension D of the actual itk::ImageRegion created is the max of the sizes of Index and Size 
483 (the smallest vector is padded by zeros)     
484
485      \paragraph{ImageReader}
486 Generic itk image reader
487
488      \paragraph{ImageWriter}
489 Generic itk image writer
490
491      \paragraph{ImageSeriesReader}
492 Generic itk image series reader.
493
494      \paragraph{ResampleImageFilter}
495 Resamples an image
496
497 \item{itkvtk} \\
498 It doesn't contain any end user intended box, only adaptors : to convert a generic itkImage to a vtkImageData, and vtkImageData* to a generic itkImage pointer 
499
500 Sorry nothing is done, right now for meshes. 
501
502 \item{wxvtk} \\
503
504 It contains two atomic black boxes.
505
506      \paragraph{Viewer2D} 
507      Receives : \\
508      - a \textless vtkImageData* \textgreater (In),\\
509      - an Orientation(0:yz / 1:xz / 2:xy),\\
510      - an initial slice number (Slice).\\
511      Outputs :\\
512      - a \textless vtkRenderer* \textgreater (Renderer)
513      
514      \paragraph{Viewer3D} 
515      Receives :\\
516      - up to 5 Input Actors (\textless vtkProp3D* \textgreater),\\
517      - up to 5 Input Observers (\textless vtkInteractorObserver* \textgreater), \\
518      - a boolean 'Stereo' option, to use Red-Blue filter     
519      Outputs :\\
520      - an Interactor (\textless wxVTKRenderWindowInteractor* \textgreater) with which vtk widgets can interact, \\
521      - a Renderer (\textless vtkRenderer* \textgreater) to which actors can be added.
522
523 It contains too some sophisticated complex black boxes :
524  
525      \paragraph{IsoSurfaceWidget} 
526      Image iso-surface extractor (vtk::IsoSurfaceExtractor) with associated control panel (isovalue, opacity and colour)\\
527      Receives :\\
528      - an initial isovalue (Isovalue)
529      - an initial opacity  (Opacity)
530      - an initial colour   (Colour)
531      Outputs :\\
532      \textless vtkProp3D* \textgreater (In)\\
533       
534      \paragraph{MIPWidget}     
535      Maximum Intensity Projection (MIP) creator (vtk::MIPCreator) with associated control panel (shift and scale) \\
536     Receives :\\
537      - an initial scale (Scale)
538      - an initial shift  (Shift) 
539      Outputs :\\
540      \textless vtkProp3D* \textgreater (In)\\
541          
542 \item{wx} \\
543
544 Some boxes are the bbfication of usefull xwWidgets, some other ones are more
545 sophisticated.
546
547     \paragraph{ColourSelector} Colour Selector dialog (bbfication of wxColourSelector) \\
548                         %\begin{verbatim}
549          \texttt{Out} : Colour choosen in format '[0,1] [0,1] [0,1]' 
550                         %\end{verbatim}
551
552     \paragraph{ColourSelectorButton} A button which displays a colour picker dialog when clicked \\
553                         %\begin{verbatim}
554           \texttt{In} :Initial colour \\
555           \texttt{Out} : Colour choosen in format '[0,1] [0,1] [0,1]'
556                         %\end{verbatim} \\
557
558     \paragraph{CommandButton} Button which executes bbi commands \\
559                         %\begin{verbatim}
560           \texttt{In} : Commands to be executed separated by commas (;). Each single quote (') is replaced by a double quote ("). \\
561           \texttt{Label} : Label of the button  \\
562           \texttt{Widget} : Output widget \\
563                         %\end{verbatim}
564
565     \paragraph{DirectorySelector} Pops up a directory selection dialog (wxDirDialog)\\
566                         %\begin{verbatim}
567           \texttt{DefaultDir} : The default directory\\
568           \texttt{Message} : Message to show on the dialog \\
569           \texttt{Title} : Title of the dialog \\
570           \texttt{Out} : The directory selected by the user\\
571                         %\end{verbatim}
572  
573     \paragraph{FileSelector} Pops up a file selection dialog for reading or saving (wxFileDialog)\\
574                         %\begin{verbatim}
575           \texttt{DefaultDir} : The default directory \\
576           \texttt{DefaultFile} : The default filename \\
577           \texttt{Message} : Message to show on the dialog \\
578           \texttt{OpenSave} : Open for an open dialog (default) / Save for a save dialog\\ 
579           \texttt{Title} : Title of the dialog \\
580           \texttt{Wildcard} : A wildcard, such as "*.*" or "BMP files (*.bmp)|*.bmp|GIF files (*.gif)|*.gif" \\
581           \texttt{Out} : The file selected by the user \\
582                         %\end{verbatim}
583
584     \paragraph{InputText} A zone in which the user can enter a text (wxTextCtrl)\\
585                         %\begin{verbatim}
586           \texttt{In} : Initial text (default '')\\ 
587           \texttt{Title} : Title of the input zone (default '')\\ 
588           \texttt{WinTitle} : Title of the window (*)\\
589           \texttt{Out} :Current text\\
590                         %\end{verbatim}
591
592     \paragraph{LayoutLine} LayoutLine widget (wxBoxSizer)\\
593                         %\begin{verbatim}
594           \texttt{Orientation} Orientation (default V), 0=H=HORIZONTAL , 1=V=VERTICAL \\
595           \texttt{Widget}1 widget 1 \\
596           \texttt{Widget2} widget 2 \\
597           \texttt{Widget3} widget 3 \\
598           \texttt{Widget4} widget 4 \\
599           \texttt{Widget5} widget 5 \\
600           \texttt{Widget6} widget 6 \\
601           \texttt{Widget7} widget 7 \\
602           \texttt{Widget8} widget 8 \\
603           \texttt{Widget9} widget 9\\
604           %\end{verbatim}    
605     
606     \paragraph{LayoutSplit} Widget which splits a window in two fixed size parts (wxSplitterWindow)\\ 
607                         %\begin{verbatim}
608           \texttt{Orientation} : Orientation (default H), 0=H=HORIZONTAL , 1=V=VERTICAL\\ 
609           \texttt{Proportion} : Proportion (in percent) of the first children in the window\\ 
610           \texttt{Widget1} : Upper or left widget\\ 
611           \texttt{Widget2} : Lower or right widget\\
612                         %\end{verbatim}
613
614     \paragraph{LayoutTDown} Creates a 'T like' complex container : Down {UpLeft, UpRight} \\
615                         %\begin{verbatim}
616           \texttt{Widget1} : UpLeft container\\
617           \texttt{Widget2} : UpRight container\\ 
618           \texttt{Widget3} : Down container\\
619                         \begin{verbatim}
620 //                       ---------------
621 //                       |      |      |
622 //                       |  W1  |  W2  |
623 //                       |-------------|
624 //                       |             |
625 //                       |     W3      |
626 //                       ---------------
627                         \end{verbatim}
628    
629     \paragraph{LayoutTLeft} Creates a 'T like' complex container :  Left {RigthUp, RightDown}\\
630                         %\begin{verbatim}
631            \texttt{input}  Widget1 : "UpLeft container"  \\ 
632            \texttt{input}  Widget2 : "UpRight container" \\  
633            \texttt{input}  Wigdet3 : "Down container"    \\ 
634                         \begin{verbatim} 
635 //                       ---------------
636 //                       |      |  W2  |
637 //                       |  W1  |      |
638 //                       |      |------|
639 //                       |      |  W3  |
640 //                       |      |      |
641 //                       ---------------   
642                         \end{verbatim}
643
644     \paragraph{LayoutTRight} Creates a 'T like' complex container : Right {LeftUp, LeftDown}\\
645                         %\begin{verbatim}
646           \texttt{input} Widget1 currentBox.Widget1 "Up container"       \\
647           \texttt{input} Widget2 down.Widget1       "DownLeft container" \\ 
648           \texttt{input} Widget3 down.Widget2       "DownRight container"\\    
649                         \begin{verbatim}  
650 //                       ---------------
651 //                       |      |      |
652 //                       |  W1  |      |
653 //                       |------|  W2  |
654 //                       |  W3  |      |
655 //                       |      |      |
656 //                       ---------------
657                         \end{verbatim}
658   
659     \paragraph{LayoutTUp} Creates a 'T like' complex container : Up {DownLeft, DownRight} as w1{w2,w3}\\ 
660                         %\begin{verbatim} 
661           \texttt{ input} Widget1 currentBox.Widget1 "Up"       \\
662           \texttt{input} Widget2 down.Widget1        "DownLeft" \\ 
663           \texttt{input} Widget3 down.Widget2        "DownRight"\\
664      
665 //             \begin{verbatim}
666 //                       ----------------
667 //                       |    W1        |
668 //                       |              |
669 //                       |------|-------|
670 //                       | W3   |  W2   |
671 //                       |      |       |
672 //                       ----------------
673                 \end{verbatim}
674                           
675     \paragraph{LayoutTab} LayoutTab widget (wxNotebook)\\
676                         %\begin{verbatim}
677           \texttt{Orientation} Orientation (default T), 0=T=TOP , 1=R=RIGHT , 2=B=BOTTON , 3=L=LEFT \\
678           \texttt{Widget1} widget 1 \\
679           \texttt{Widget2} widget 2 \\
680           \texttt{Widget3} widget 3 \\
681           \texttt{Widget4} widget 4 \\
682           \texttt{Widget5} widget 5 \\
683           \texttt{Widget6} widget 6 \\
684           \texttt{Widget7} widget 7 \\
685           \texttt{Widget8} widget 8 \\
686           \texttt{Widget9} widget 9 \\   
687 %\end{verbatim}
688    
689     \paragraph{OutputText}              Text zone to be inserted into a window (wxStaticText)\\
690                         %\begin{verbatim}
691           \texttt{In} Text \\
692           \texttt{Title} Title prepended to the text\\   
693                         %\end{verbatim}
694                            
695     \paragraph{RadioButton}             RadioButton group widget 0-9 entries\\
696                         %\begin{verbatim}
697           \texttt{In} Set initial item \\
698           \texttt{In0} option 0\\ 
699           \texttt{In1} option 1\\ 
700           \texttt{In2} option 2\\ 
701           \texttt{In3} option 3\\ 
702           \texttt{In4} option 4\\ 
703           \texttt{In5} option 5 \\
704           \texttt{In6} option 6 \\
705           \texttt{In7} option 7 \\
706           \texttt{In8} option 8 \\
707           \texttt{In9} option 9 \\
708           \texttt{Title} Title of the widget (default '')\\ 
709           \texttt{Out} Number of the selected Item 
710                         %\end{verbatim}
711                            
712     \paragraph{Slider}          Slider widget (wxSlider)\\
713                         %\begin{verbatim}
714           \texttt{ChangeResolution} Enables the user to change the slider resolution (default FALSE) \\
715           \texttt{In} Initial slider position(default 0) \\
716           \texttt{Label} Show slider labels ? (default FALSE) \\
717           \texttt{Max} Maximum value of the slider (default 500)\\ 
718           \texttt{Min} Minimum value of the slider (default 0)\\ 
719           \texttt{Orientation} Orientation : (default H) 0=H=HORIZONTAL, 1=V=VERTICAL\\ 
720           \texttt{ReactiveOnTrack} Slider sends info when track moves (default 0 = no)\\ 
721           \texttt{Title} Title shown above the slider (default '')\\     
722                         %\end{verbatim}
723 \end{itemize}
724
725
726 %\bibliography{all}
727
728
729
730 %\section{Conclusion}
731
732
733 \end{document}