Modularity

 

SliceOmatic 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.

Module_Tools.dll.  This is the library containing the more advanced tools used by sliceOmatic (brush selection, TAG selection...)

Module_Structure.dll. This library contains all the functions that are used by the other DLLs of sliceOmatic.

Module_Browser.dll. This library is used to create the DICOM, Medi and script browsers.

Module_Config.dll. This library is used to manipulate the configuration menu.

Module_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 sliceOmatic's data.

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

 

The System, Menu and Config folders

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

The Class_1D, Class_2D and Class_3D folders

In these 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 Tool folder

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

The Mode_1D, Mode_2D Mode_3D and Mode_TAG folders

In these folder you have one DLL per Mode.

The User_Class_1D, User_Class_2D, User_Class_3D, User_Mode_1D, User_Mode_2D, User_Mode_3D, User_mode_TAG and User_tool folders

These folders are used to place additional classes/modes/tools.

 

 

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 ("User_Class_xD", "User_Mode_xD", "User_Mode_TAG" or "User_Tools"). The next time sliceOmatic is started, the new module will be available in the different menus.

 

License:

 

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

 

User modules can be protected by sliceOmatic'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.