]> Creatis software - bbtk.git/blobdiff - kernel/doc/bbtkUsersGuide/bbtkReferenceManual.tex
Feature #1774
[bbtk.git] / kernel / doc / bbtkUsersGuide / bbtkReferenceManual.tex
index 8573bea3f4bb4aff1af1ffb26b0ff764fdf277ce..450bf140991699abdc3c91bfbab42e1ebd399baa 100644 (file)
@@ -1,69 +1,39 @@
+% # ---------------------------------------------------------------------
+% #
+% # 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.
+% # ------------------------------------------------------------------------ */
+%
+
 % ==========================================
 \documentclass[11pt,final,a4paper]{article}
 \input{config.tex}
 
 
-\def\todo{\scriptsize\fbox{\bf TODO !!}\normalsize}
-\def\x{\bm{x}}
-\def\BBTK{{\xspace}The {\bf Reference Manual} }
-\def\bbtk{{\xspace}$\texttt{bbtk}$ }
-\def\bbi{{\xspace}$\texttt{bbi}$ }
-\def\bbStudio{{\xspace}$\texttt{bbStudio}$ }
-\def\bbfy{{\xspace}$\texttt{bbfy}$ }
-\def\bbdoc{{\xspace}$\texttt{bbdoc}$ }
-\def\bbCreatePackage{{\xspace}$\texttt{bbCreatePackage}$ }
-
-\def\bb{{\xspace}$\texttt{bb}$ }
-%\def\bbp{{\xspace}$\texttt{bbp}$\xspace}
-
-\def\cmake{{\xspace}$\texttt{cmake}$ }
-
-\def\C{{\xspace}$\texttt{C}$ }
-\def\CPP{{\xspace}$\texttt{C++}$ }
-
-\def\xml{{\xspace}$\texttt{xml}$ }
-
-\def\itk{{\xspace}$\texttt{itk}$ }
-\def\vtk{{\xspace}$\texttt{vtk}$ }
-\def\gdcm{{\xspace}$\texttt{gdcm}$ }
-\def\gsmis{{\xspace}$\texttt{gsmis}$ }
-\def\wx{{\xspace}$\texttt{wxWidgets}$ }
-
-\def\lin{{\xspace}\textit{Linux} }
-\def\win{{\xspace}\textit{Windows} }
-
-% the same macros with no space at the end
-
-\def\BBTKns{{\xspace}The {\bf Black Box Toolkit}}
-\def\bbtkns{{\xspace}$\texttt{bbtk}$}
-\def\bbins{{\xspace}$\texttt{bbi}$}
-\def\bbfyns{{\xspace}$\texttt{bbfy}$}
-\def\bbdocns{{\xspace}$\texttt{bbdoc}$}
-\def\bbCreatePackagens{{\xspace}$\texttt{bbCreatePackage}$}
-
-\def\bbns{{\xspace}$\texttt{bb}$}
-%\def\bbp{{\xspace}$\texttt{bbp}$\xspace}
-
-\def\cmakens{{\xspace}$\texttt{cmake}$}
-
-\def\Cns{{\xspace}$\texttt{C}$}
-\def\CPPns{{\xspace}$\texttt{C++}$}
-
-\def\xmlns{{\xspace}$\texttt{xml}$}
-
-\def\itkns{{\xspace}$\texttt{itk}$}
-\def\vtkns{{\xspace}$\texttt{vtk}$}
-\def\gdcmns{{\xspace}$\texttt{gdcm}$}
-\def\gsmisns{{\xspace}$\texttt{gsmis}$}
-\def\wxns{{\xspace}$\texttt{wxWidgets}$}
-
-\def\linns{{\xspace}\textit{Linux}}
-\def\winns{{\xspace}\textit{Windows}}
-
 
 
 
 \begin{document}
+
 \begin{center}
 
 {\Large \BBTK}
 {\Huge Reference Manual}
 \vspace{1cm}
 
-\bbtk version 1.0
+\bbtk version \bbtkVersion
 \vspace{0.5cm}
 
 
-Last modified on : September 20, 2008 \\
+Last modified on : September 20 2008 \\
 Generated on : \today 
 \vspace{0.5cm}
-
-Fantomas, Belphegor
 \end{center}
+\begin{center}
+Fr\'ed\'eric Cervenansky, Eduardo D\'avila, Laurent Guigues, Jean-Pierre Roux
+\end{center}
+\begin{center}
+CREATIS, Centre de Recherche en Imagerie M\'edicale \\ CNRS UMR 5220, INSERM U1044\\
+INSA Lyon\\
+Universit\'e Claude-Bernard Lyon 1\\
+http://www.creatis.insa-lyon.fr/site/en/CreatoolsBBTK
+\end{center}
+
+
+
+
 
 % ==========================================
 \tableofcontents
@@ -104,6 +85,9 @@ Fantomas, Belphegor
 \begin{verbatim}
 ---> Should be moved in a 'Reference Manual' ?\\
 ---> Any suggestion welcome!
+
+--> The following is just the concatenation of various parts, removed from different 'manuals', and wainting for
+their new affectation.
 \end{verbatim}
 
 \section{aaa}
@@ -114,8 +98,8 @@ Fantomas, Belphegor
 \small
 \begin{tabular}{|ll|}
 \hline
-\texttt{Kind name}                & : Meaning                         \\ \hline \\ \hline
-\texttt{ADAPTOR}                  & : Adaptor Box                     \\ \hline
+\texttt{Kind name}                & : Meaning                          \\ \hline \\ \hline
+\texttt{ADAPTOR}                  & : Adaptor Box                      \\ \hline
 \texttt{DEFAULT\_ADAPTOR}         & :                                  \\ \hline
 \texttt{WIDGET\_ADAPTOR}          & :                                  \\ \hline
 \texttt{DEFAULT\_WIDGET\_ADAPTOR} & :                                  \\ \hline
@@ -131,7 +115,7 @@ Fantomas, Belphegor
    \bf\emph{Boxes} : Box retrieving on various criterions :
       \begin{itemize}
         \item {\bf\emph{By name}} (Alphabetical list)
-        \item {\bf\emph{By package}} (see table : \ref{bbi-list_of_packages})
+        \item {\bf\emph{By package}}  (see table : \ref{bbi-list_of_packages})
         \item {\bf\emph{By category}} (see table : \ref{categories})
         \item {\bf\emph{Adaptors}} Used internaly to perform type conversions (not end user intended)     
       \end{itemize}
@@ -197,6 +181,148 @@ Package         & What it's used for \\ \hline
 
 
 
+% ==========================================
+\subsubsection{complex black box definition related commands}
+\label{bbi-reference-black-box-definition}
+% ==========================================
+
+See table \ref{bbi-reference-complex-box} 
+% ==========================================
+\begin{table}[!ht]
+\caption{\label{bbi-reference-complex-box} \bbi complex black box definition related commands.}
+\small
+\begin{tabular}{|lcm{6cm}|}
+\hline
+Command & Parameters & Effect \\ \hline
+
+
+\texttt{define} & \texttt{<box-type>} & 
+Starts the definition of a complex black box of type  
+\texttt{box-type}\\ \hline 
+
+\texttt{endefine} & - & 
+Ends the definition of a complex black box type\\ \hline 
+
+\texttt{author} & \texttt{<string>} & 
+Sets the author(s) of the complex black box currently being defined \\ \hline 
+
+\texttt{description} & \texttt{<string>} & 
+Sets the description of the complex black box currently being defined \\ \hline 
+
+\texttt{input} & \texttt{<name>} \texttt{<box.input>} \texttt{<help>} & 
+Defines a new input for the current complex black box, 
+named \texttt{name}. 
+It is defined as corresponding to 
+the input \texttt{input} of the box \texttt{box}.
+\texttt{<help>} is the help string for the new input.
+The box \texttt{box} must already have been created in the complex box 
+and of course have an input named \texttt{input}.\\ \hline 
+
+\texttt{output} & \texttt{<name>} \texttt{<box.output>} \texttt{<help>} & 
+Defines a new output for the current complex black box, 
+named \texttt{name}. 
+It is defined as corresponding to 
+the output \texttt{output} of the box \texttt{box}. 
+\texttt{<help>} is the help string for the new output.
+The box \texttt{box} must already have been created in the complex box and of course have an output named \texttt{output}. \\ \hline 
+
+
+\end{tabular}
+\end{table}
+
+% ==========================================
+\subsubsection{Interpreter related commands}
+\label{bbi-reference-interpreter}
+% ==========================================
+See table \ref{tabbbi-reference-interpreter_1} and \ref{tabbbi-reference-interpreter_2}
+% ==========================================
+\begin{table}[!ht]
+\caption{\label{tabbbi-reference-interpreter_1}\bbi intepreter related commands (part 1).}
+\small
+\begin{tabular}{|lcm{6cm}|}
+\hline
+Command & Parameters & Effect \\ \hline
+
+\texttt{author} &  \texttt{<author-name>} & 
+Adds the string \texttt{<author-name>} to the author information of the black box being defined \\ \hline 
+
+\texttt{category} & \texttt{<category-name>} & 
+  Adds the string \texttt{<category-name>} to the category information of the black box being defined \\ \hline 
+
+\texttt{help} & - & 
+Prints help on available commands \\ \hline 
+
+& \texttt{<command-name>} & 
+Prints help on the command \texttt{command-name} \\ \hline 
+
+& \texttt{packages} & 
+Prints help on available packages and their box types 
+(without description)\\ \hline 
+
+& \texttt{<package-name>} & 
+Prints help on the package \texttt{package-name} and its boxes 
+(with brief description). 
+The package must have been previously loaded \\ \hline 
+
+& \texttt{<box-type>} & 
+Prints help (with full description) on the type of box 
+\texttt{box-type}. 
+The box type must belong to a package which has been previously loaded \\ \hline 
+
+& \texttt{<debug-directive>} & 
+[expr|-C|-D] 
+  Prints debug info on living bbtk objects containing the string \texttt{expr} (default expr=''). 
+         \texttt{-C} checks the factory integrity.
+        \texttt{-D} turns on objects debug info after main ends\\ \hline 
+
+\texttt{include} & \texttt{<file-name>} & 
+Includes and executes the content of the file named \texttt{file-name} 
+exactly like if you were typing its content at the place were the 
+\texttt{include} command is. \\ \hline 
+
+\texttt{load} & \texttt{<package-name>} & 
+Loads the package \texttt{package-name} (use it only if you know that you won't work with complex black boxes) \\ \hline 
+
+\texttt{include} & \texttt{<package-name>} & 
+Loads the package \texttt{package-name} and includes all the complex black boxes that comes with it \\ \hline 
+
+\texttt{kind} & \texttt{<box kind>} & 
+Specifies the \texttt{kind} of the complex black boxes you are describing \\ \hline 
+\end{tabular}
+\end{table}
+
+
+
+%
+% This arbitrary part1/part2 is to avoid to have all the tables at the end of the docoment ...
+%
+
+\begin{table}[!ht]
+\caption{\label{tabbbi-reference-interpreter_2}\bbi intepreter related commands (part 2).}
+\small
+\begin{tabular}{|lcm{6cm}|}
+\hline
+Command & Parameters & Effect \\ \hline
+\texttt{unload} & \texttt{<package-name>}& 
+Unloads the package \texttt{package-name}. 
+The package must have been previously loaded. 
+No box of a type defined in this package must still exist.\\ \hline 
+
+\texttt{message} & \texttt{<category>} \texttt{<level>} & 
+Sets the level of verbosity of \bbi for the category of messages 
+\texttt{category} to \texttt{level}.\\ \hline 
+%See \ref{verbosity}.
+
+\texttt{config} & - & Displays the Configuration parameters\\ \hline 
+
+\texttt{reset} & - & Deletes all boxes and unloads all packages so 
+that \bbi gets back to its initial state \\ \hline 
+
+\texttt{quit} & - & Exits the interpreter (Don't use it under \bbStudions)\\ \hline 
+
+\end{tabular}
+\end{table}
 
 
 \subsection{ccc}
@@ -396,7 +522,7 @@ It contains two atomic black boxes.
 
 It contains too some sophisticated complex black boxes :
  
-     \paragraph{IsoSurfaceWithControls
+     \paragraph{IsoSurfaceWidget
      Image iso-surface extractor (vtk::IsoSurfaceExtractor) with associated control panel (isovalue, opacity and colour)\\
      Receives :\\
      - an initial isovalue (Isovalue)
@@ -405,7 +531,7 @@ It contains too some sophisticated complex black boxes :
      Outputs :\\
      \textless vtkProp3D* \textgreater (In)\\
       
-     \paragraph{MIPWithControls}     
+     \paragraph{MIPWidget}     
      Maximum Intensity Projection (MIP) creator (vtk::MIPCreator) with associated control panel (shift and scale) \\
     Receives :\\
      - an initial scale (Scale)