]> Creatis software - bbtk.git/commitdiff
revision sections 1 et 2 user's guide
authormaciej orkisz <maciej.orkisz@creatis.insa-lyon.fr>
Thu, 5 Mar 2009 15:15:17 +0000 (15:15 +0000)
committermaciej orkisz <maciej.orkisz@creatis.insa-lyon.fr>
Thu, 5 Mar 2009 15:15:17 +0000 (15:15 +0000)
kernel/doc/bbtkUsersGuide/bbtkUsersGuide.tex

index e02113bd90de836c93fa1e3cfcfcfba347471622..9a5e461a7f37d7cc18a2156eefce3ec96d3bd591 100644 (file)
@@ -80,85 +80,84 @@ description of its inputs and outputs, etc.
 We let you think about this\dots)
 
 Of course, symbolic data attached to a box may be 
-{\bf queried} : what are the inputs/outputs of the box ? 
+{\bf queried}: what are the inputs/outputs of the box ? 
 what are their type ? their description ? etc.
 This allows {\bf automatic documentation} of boxes. 
 
 The abstract definition of black boxes is the most basic 
 aspect of \BBTK architecture. 
-Another key aspect is the groupement of black boxes into 
+Another key aspect is the grouping of black boxes into 
 so called {\bf packages}, 
-which are \emph{dynamic libraries} which can also 
+which are \emph{dynamic libraries} that can also 
 be queried, in particular about the boxes they provide. 
-The package structure then offers a mechanism which 
-is like a \emph{'plug-in'} mechanism.
+The package structure then offers a mechanism similar to \emph{'plug-in'} mechanism.
 \BBTK provides the methods to load a package at run-time, 
 and create instances of the boxes it contains. 
 
 These two mechanisms (black boxes and packages) 
-then gives the way to:
+then give the way to:
 
 \begin{itemize}
 \item The definition of an {\bf interpreted script language}, 
 which allows to manipulate packages and boxes very easily in symbolic way. 
-\BBTK provides one :  \bbs (the Black Box Script language) and its interpreter
+\BBTK provides one:  \bbs (the Black Box Script language) and its interpreter
 \bbi (the Black Box Interpreter). 
 \item {\bf Automatic documentation} of existing packages. 
 \texttt{html} documentation of packages is proposed by 
 \bbStudions.
 \end{itemize}
 
-Finally, these different components allow {\bf efficient} :
+Finally, these different components allow {\bf efficient}:
 
 \begin{itemize}
 \item {\bf capitalization and reuse} of existing processing units, 
 including {\bf documentation} 
 \item {\bf testing, prototyping} in a very simple script language
-\item {\bf inter-operability} between atomic processings which 
+\item {\bf inter-operability} between atomic processings that 
 have been written by different persons, using different libraries, etc. 
 \end{itemize}
 
 % ==========================================
 \subsubsection{\bbtk components}
 % ==========================================
-\BBTK includes :
+\BBTK includes:
 \begin{itemize}
   \item A \CPP {\bf\emph{library}} - called \bbtk - which defines a framework 
     (abstract classes) to develop black boxes and store them into 
     dynamic libraries, called black box \emph{packages}.
-  \item Different {\bf\emph{"core" black box packages}} :
+  \item Different {\bf\emph{"core" black box packages}}:
     \begin{itemize}
-      \item {\bf\emph{std}} : the 'standard' package including basic useful boxes.
-      \item {\bf\emph{wx}} : basic graphical interface elements (widgets : sliders, buttons, etc. based on the \texttt{wxWidgets} library).  
-      \item {\bf\emph{itk}} : the basic image processing package, based on the \itk library.
-      \item {\bf\emph{vtk}} : the basic images and surfaces processing and visualization package, based on the \vtk library.
-      \item {\bf\emph{wxvtk}} : widget boxes based on the \vtk library (2D and 3D vizualization and
+      \item {\bf\emph{std}}: the 'standard' package including basic useful boxes.
+      \item {\bf\emph{wx}}: basic graphical interface elements (widgets: sliders, buttons, etc. based on the \texttt{wxWidgets} library).  
+      \item {\bf\emph{itk}}: the basic image processing package, based on the \itk library.
+      \item {\bf\emph{vtk}}: the basic images and surfaces processing and visualization package, based on the \vtk library.
+      \item {\bf\emph{wxvtk}}: widget boxes based on the \vtk library (2D and 3D visualization and
       interaction).
       %\item {\bf\emph{creaImageIO}} : Provides hight level widgets to read images, including DICOM.
-      \item {\bf\emph{toolsbbtk}} : Tools for bbtk administration and package development.     
+      \item {\bf\emph{toolsbbtk}}: Tools for bbtk administration and package development.     
     \end{itemize}
-  \item A {\bf\emph{Developement environment}}, called \bbStudio, which provides
+  \item A {\bf\emph{Development environment}}, called \bbStudio, which provides:
     \begin{itemize}
-      \item An online {\bf\emph{script editor and interpretor}}
-      \item A powerful html {\bf\emph{Help environment}}, integrating :       
+      \item An online {\bf\emph{script editor and interpreter}}
+      \item A powerful html {\bf\emph{Help environment}}, integrating:       
         \begin{itemize}
-          \item Online documentation scaning
-          \item Retreiving boxes on various criterions
+          \item Online documentation scanning
+          \item Retrieving boxes on various criteria
           \item Checking Demo and examples
         \end{itemize}
       \end{itemize}
-      \item An standalone {\bf\emph{interpreter}}, called \bbins, which allows to 
+      \item A standalone {\bf\emph{interpreter}}, called \bbins, which allows to 
            execute \bbs scripts or commands.
-      \item {\bf\emph{Various Development Utilities}} :
+      \item {\bf\emph{Various Development Utilities}}:
          \begin{itemize}
             \item \bbfy generates the \CPP code of a black box from a 
                description file written in \texttt{xml}.
                 %\item \bbdoc generates the html documentation of a black box package 
                 %(author, description, description of its black boxes : 
                 %author, description, inputs, outputs, and so on).
-            \item \bbCreatePackage allows to create the basic file architecture. 
+            \item \bbCreatePackage allows to create the basic file architecture 
                to start the development of a new black box package.
-            \item \bbCreateBlackBox allows to create the basic file architecture. 
+            \item \bbCreateBlackBox allows to create the basic file architecture 
                to start the development of a new black box, that will be included in an already existing package.             
             \item \bbs2cpp translates a \texttt{.bbs} script into a \CPP file.
             \item \bbc (sorry : Linux Only, for the moment) that compiles \texttt{.bbs} scripts into executables.
@@ -166,18 +165,19 @@ have been written by different persons, using different libraries, etc.
            \item \bbRegenerateBoxesLists which creates the html pages of the various lists of all the currenly installed boxes.
            \item \bbPlugPackage which automatically incorporates a new package.                  
          \end{itemize}
-      \item A full {\bf\emph{documentation}} printable (pdf), browsable (html),
-      queryable throught keywords.       
+      \item A full {\bf\emph{documentation}} that can be printed (pdf), browsed (html) and
+      queried through keywords.          
 \end{itemize}
 
 The general architecture of \BBTK 
 is shown in figure \ref{bb-architecture}.
 
 \begin{figure}[!ht]
-\caption{\label{bb-architecture}\BBTK architecture}
+\caption{\BBTK architecture}
 \begin{center}
 \includegraphics[width=0.6\textwidth]{bb-architecture.png}
 \end{center}
+\label{bb-architecture}
 \end{figure}
 
 %%\newpage
@@ -188,7 +188,7 @@ is shown in figure \ref{bb-architecture}.
 
 Read this \texttt{Users' Guide} if you want to learn how to use 
 \bbtk development environnement (\bbStudions) and how to write black box scripts.\\
-If you aim is to write your own Packages and Black Boxes, you have to read the
+If your aim is to write your own Packages and Black Boxes, you have to read the
 \texttt{Package Developper's Guide}.
 
 % ==========================================
@@ -215,7 +215,7 @@ You'll get something like in figure
 (the exact appearance of \bbStudio is Operating System and \bbtk version dependent).
 
 At start, \bbStudio opens with a very minimal 'How to use' in the middle. 
-Don't forget to read it : it will vanish at the first mouse click. 
+Don't forget to read it: it will vanish at the first mouse click. 
 
 
 \begin{figure}[!ht]
@@ -233,7 +233,7 @@ Don't forget to read it : it will vanish at the first mouse click.
 %\end{center}
 %\end{figure}
 
-The interface is divided into four parts : \texttt{Files}, \texttt{Messages},
+The interface is divided into four parts: \texttt{Files}, \texttt{Messages},
  \texttt{Command}, \texttt{Help}.
 It is written using the Advanced User Interface library of wxWidgets
 (a.k.a. AUI),
@@ -277,8 +277,8 @@ lower toolbar (see figure \ref{lowertoolbar})
 \label{bbi-MessagesPart}
 
 Two kinds of messages will be output here:\\
-System messages : produced by the kernel, in case of a user mistyping, or an execution error\\
-Script messages : produced by the \bbtk equivalent of \texttt{printf} 
+System messages: produced by the kernel, in case of a user mistyping, or an execution error.\\
+Script messages: produced by the \bbtk equivalent of \texttt{printf} 
 or \texttt{std::cout} in user programs.
 
 \subsubsection{'Command' part}
@@ -290,7 +290,7 @@ The buttons are shortcuts to usual commands.
 \subsubsection{'Help' part}
 \label{bbi-HelpContentsPart}
 
-The 'Help' part of \bbStudio is used to browse the html help of \BBTKns.
+The 'Help' part of \bbStudio is used to browse the html help of \BBTKns. You can find there various guides (see section~\ref{sec:guides}) and detailed information about each black box available (see section~\ref{sec:boxes_help}). They can be browsed alphabetically, by package and by category. Two special categories of boxes, demos and examples, are available via direct links (see section~\ref{sec:demos_examples}).
 
 
 % ==========================================
@@ -313,6 +313,7 @@ The 'Help' part of \bbStudio is used to browse the html help of \BBTKns.
 
 % ==============================================
 \subsection{Running Demos and Examples}
+\label{sec:demos_examples}
 % ==============================================
 
 In the 'Help' part (See figure \ref{HelpContents}), select \texttt{Examples} link.
@@ -350,10 +351,11 @@ Note : due to an unfixed bug in Linux, you have to click on 'reload' to get it.
 Select \texttt{wx::exampleSlider}.
  
 \begin{figure}[!ht]
-\caption{\label{exampleSlider}Html documentation of example 'exampleSlider'}
+\caption{Html documentation of example 'exampleSlider'}
 \begin{center}
 \includegraphics[width=0.7\textwidth]{exampleSlider.png}
 \end{center}
+\label{exampleSlider}
 \end{figure}
 
 You can see information on the example and 
@@ -488,6 +490,7 @@ in this zone (see \ref{Scripting}).
 
 % ==========================================
 \subsubsection{Guides}
+\label{sec:guides}
 % ==========================================
 
 An html version of all the guides is browsable in the \texttt{Help} part of \bbStudions.
@@ -507,6 +510,7 @@ An html version of all the guides is browsable in the \texttt{Help} part of \bbS
 
 % ==========================================
 \subsubsection{Boxes Help}
+\label{sec:boxes_help}
 % ==========================================
  Lists of currently available boxes from installed packages
    \begin{itemize}