COBRA software development kit. Integration COBRA into customer’s software.

SDK


All COBRA reconstruction functionality is accessible and controllable through API’s implemented in a dynamic link library.


APIs are represented as classic C functions, providing initialization, parameter setup, start, status access, interrupt/cancel, and release of reconstruction process. The API format is extremely simple, which makes integration into the user’s software easy and clear.


COBRA provides interfaces both for 32-bit and 64-bit platforms

Status of reconstruction process and accessing it


A reconstruction process is divided into passes and phases.

In many situations the entire volume does not fit into the available memory. In these cases the required volume is divided into horizontal slabs. Reconstructing one slab is called a pass.

COBRA incorporates multiple algorithms implementing iterative corrections. Back-projecting, forward-projecting (re-projecting) , and long post-processing operations are called reconstruction phases.

When the user is accessing the reconstruction status then SDK APIs provide information about the current phase, pass, back-projected / re-projected views and saved slices. There are two options: polling API, or implementation of a call back object (an abstract class is provided)

Inline reconstruction


COBRA SDK supports a special mode called inline reconstruction. Inline reconstruction starts instantly after getting the first projection from the CT scanner. This allows running reconstruction and data acquisition processes in parallel. Via appropriate interfaces (supported by SDK), the user program informs the COBRA kernel about sequential availability of projections, synchronizing the reconstruction process with the scanner.

C++ code example below is what you need to include into your program to get access to 90% of Cobra functionality.
Basically only the reconstruction status access is missing in this code fragment


char company[ ]  = "YourCompanyName";
char serialNumber[ ]  = "YourLicense";

DWORD result = 0;

// ************        Init          ************          
result  = CobraDispatcher_Init(company, serialNumber);
result  = CobraDispatcher_Communicate();
result  = CobraDispatcher_SetReconMode(
BPMODETAG_CONEBEAM | MODE_OFFLINE);

// ************        Set parameters from file   ************
CobraDispatcher_SetParametersByFile(cParFileName);

//  ************       Reconstruct          ************
result  = CobraDispatcher_TerminateReconstruction();
result  = CobraDispatcher_ResetReconstruction();
result  = CobraDispatcher_StartReconstruction();

 
top_bord

Description of the reconstruction task

In COBRA package all input, output, and in-termediate data are assumed to be kept on a hard disk. A user defines/controls a recon-struction task by a parameter file, which is a text file with an extension xxm. It contains tags and assigned values and describes a scanner hardware setup, input and output data characteristics and representation, and a chosen reconstruction method.


In the same time there are some reconstruction options available only through SDK APIs. Particularly they are related to syn-chronization and control of inline reconstruc-tion and COBRA working folder setup

block_bord_bot
bord_bot top_bord bord_bot
cobra_link