Modularity

 

Baby SliceO 5.0 is designed to be modular. Every class, tool and mode in the program is contained in an individual DLL file. Removing or adding DLL files in the sub-directories planned for this will remove or add the corresponding module from the program.

 

The DLLs

 

Depending on their function, the DLL libraries associated with the program will be stored in one of 9 folders:

 

·The same folder as the executable

Here we will find libraries that are necessary to the program and all the other DLLs. 

These are: 

·Lib_Util.dll. This library contains the basic TomoVision functions such as string manipulation, memory allocation and error reporting functions.

·Lib_Tools.dll. This library contains the TomoVision's tools (buttons, sliders...)

·Lib_DICOM.dll. This library contains all the DICOM manipulation functions.

·Lib_Convert.dll. This library contains all the format converters that enable TomoVision's product to understand the image formats from more than 40 different scanners.

·Lib_Plot.dll. This library contains functions used to create 2D plots.

·Lib_Progress.dll. This library contains functions to create a progress bar.

·Lib_3D.dll. This library contains functions to read, write, create and manipulate 3D geometric shapes.

·Baby_Tools.dll.  This is the library containing the more advanced tools used by Baby SliceO (brush selection, TAG selection...)

·Baby_Structure.dll. This library contains all the functions that are used by the other DLLs of Baby SliceO.

·Baby_Browser.dll. This library contains all the functions that are used by the program's browsers.

·Baby_Config.dll. This library is used to manipulate the configuration menu.

·Baby_Protected.dll. This library is protected with the HASP key and will only work if you have a valid license. It contains the functions to save Baby SliceO's data.

·hasp_windows.dll. This is a library provided by the HASP key manufacturer. Baby SliceO needs it to access the license key.

 

·The Baby_System folder

Here we place all the "system" DLLs.  Those are DLLs that perform basic operations and that Baby SliceO could difficultly live without, such as reading files, the basic TAG operations...

·The Baby_Class folder

In this folder we have one DLL for each class that can be used in the database tree (except, Root and Frame that are contained in sliceO_Structure.dll).

·The Baby_Tool folder

In this folder we have one DLL per tool used in Baby SliceO.  Note that not all tools have a graphic interface, so there are more DLLs than what you see in the Tools menu.

·The Baby_Mode folder

In this folder you have one DLL per Mode in the program's "Mode" menu.

·The SliceO_Menu folder

In this folder you have one DLL item in the program's "File" menu.

 

 

User Modules

 

It is very easy to add new modules to the program. Just create a DLL for it (see the developer's manual) and place it in the appropriate sub-directory ("SliceO_Class", "SliceO_Tools" or "SliceO_User"). The next time Baby SliceO is started, the new module will be available in the different menus.

 

License:

 

User modules will only be loaded in the program if the Baby SliceO Module license is present. In demo mode they will not be available.

 

User modules can be protected by Baby SliceO's license system if so desired. If a developer does not want his module to be freely available, he can ask TomoVision for a license code. He will be provided with a code specific to his module and a license generating program to create user licenses for his module. The generated user licenses can then be read by the TomoVision_License program and incorporated in the license dongle.