Computer Assited Medical Intervention Tool Kit  version 5.0
+ Collaboration diagram for Core:

Modules

 Action
 
 Application
 
 Component
 
 Utils
 
 Viewer
 

Classes

class  camitk::Core
 Core class specifies the basic static information for the CamiTK API. More...
 
class  camitk::ExtensionManager
 This class is used to manage all plugins loaded by the application. More...
 
class  camitk::HistoryComponent
 HistoryComponent class describes the component information (name, type) stored in the history. More...
 
class  camitk::HistoryItem
 HistoryItem class describes the entry of an action used in a pipeline, in the history. More...
 

Detailed Description

The CamiTK Core library represents the base of CamiTK.

CamiTK core allows extensions to communicate and works together, for this it's the base of CamiTK and any extension using CamiTK requires the CamiTK Core library.

The CamiTK 'roulette', the core and some extensions

Core Architecture

CamiTK core architecture follows the Model-View-Presenter (MVP) design-pattern. It helps dividing the logic in two parts : domain logic (data structures and algorithms) and application logic (the Model, GUI aspects to present and interact with the domain logic).

CamiTK follows the Components Based Software Engineering (CBSE) principles. Each new functionality to the framework is a new module represented as a dynamic library (.dll on windows, .so on Linux systems). These principles guarantee CamiTK to be higly modular and easier to maintain. CamiTK is provided with its core and basic modules (to handle 2D and 3D images using VTK for instance). You can easily add new modules to the framework or create new camitk-application.

The service layer

To do so, 'viewers' (application logic modules) are used to present and interact with the domain logic : the 'components' (the data logic, the data structures) and the 'actions' (the processing logic, the algorithms to be used on these components). In order to easily glue together all this modules CamiTK uses a Service Layer Pattern. This service layer can be seen as a contract from the viewers consumers of services provided by the 'components' and 'actions'. The viewers interact with the components without knowing exactly which kind of data it represents.

See also
group::group_sdk_libraries_core_viewer