MITK-IGT 2013.12 Release Notes
The MITK 2013.12 release comes together with a source code release of the module and plugins for image guided therapy (MITK-IGT) including many bug fixes and new features.
We cleaned up the module MITK-IGT by changing the directory structure which is now based on the structure of MITK-core. Some basic classes were moved to a new module MITK-IGTBase which can be used seperately without additional dependencies. Together with the MITK 2013.12 release we also changed the scalar-type from float to double which solves some bugs caused by a lack of precision.
The basic object of MITK-IGT, the mitk::NavigationData was enhanced and can now be used to compute new transforms directly, e.g. by concatenating two NavigationData objects. Compatibility to the MITK transform class mitk::AffineTransform3D is now supported by direct conversion methods which makes handling and computations of transforms much easier. Examples for these new features can be found in the new IGT tutorial steps, e.g., step 2.
Along with the new tutorial steps, the IGT tutorial was completely revised. Now there are 4 steps:
- Step 1: Code tutorial, IGT basics
- Step 2: Code tutorial, Visualization, Computations with NavigationData
- Step 3: Simple IGT Plugin
- Step 4: Advanced IGT Plugin, shows most of the IGT functionality together with the newest application/UI features (e.g., microservices)
Step 4 ist a complete navigation example including registration of preoperative data (e.g. CT) to an intra-operative scene. Note that the source code of step 4 is still under revision and code documentation will be improved with future releases.
Together with the new features, we included many bug fixes together and external code contributions, many thanks to all contributors at this place! A complete list can be found here:
bz_unspecified bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16511||<class="bz_short_desc_column">IGT Tracking Toolbox crashes when "Start Logging" button is clicked (without connected device)||
bz_unspecified bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16510||<class="bz_short_desc_column">Empty tool storage exception is not caught on tool storage deserialisation||
bz_major bz_high bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16509||<class="bz_short_desc_column">IGT Tutorial Overview Page||
bz_major bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16502||<class="bz_short_desc_column">IGT-TrackingLab Remove confusing UI message about inverse mode||
bz_minor bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16470||<class="bz_short_desc_column">Wrong file name in input field after changing format in Tracking Toolbox Plugin (Logging tab)||
bz_major bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16468||<class="bz_short_desc_column">Saving a ToolStorage file does not add proper file ending in Linux||
bz_blocker bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16445||<class="bz_short_desc_column">Tracking device outputs are not connected||
bz_blocker bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16385||<class="bz_short_desc_column">mitkNavigationToolStorageTest, mitkNavigationToolTest, mitkTrackingDeviceSourceTest and mitkVirtualTrackingDeviceTest fail on Windows dart client||
bz_critical bz_high bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16361||<class="bz_short_desc_column">mitkNavigationDataTransformFilterTest doesn't work after ScalarType was set from float to double.||
bz_critical bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16351||<class="bz_short_desc_column">mitkNavigationToolStorageSerializerAndDeserializerTest failes under linux||
bz_critical bz_high bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16350||<class="bz_short_desc_column">mitkNavigationToolReaderAndWriterTest failes with changes from hackfest under linux.||
bz_critical bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16349||<class="bz_short_desc_column">mitkNavigationDataRecorderTest failes with changes from hackfest under linux.||
bz_minor bz_medium bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16347||<class="bz_short_desc_column">Integrate IGT hackfest changes.||
bz_unspecified bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16344||<class="bz_short_desc_column">Usage of ToolStorage with wrong tracking device type leads to crash on connect in TrackingToolbox||
bz_unspecified bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16341||<class="bz_short_desc_column">Cannot connect to "old" Polaris in TrackingToolbox||
bz_feature_request bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">16106||<class="bz_short_desc_column">ToolManagement based on MicroServices||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">16065||<class="bz_short_desc_column">NavigationData timestamps are inaccurate||
bz_unspecified bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15986||<class="bz_short_desc_column">Remove legacy dependency from TrackingLab||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15979||<class="bz_short_desc_column">IGTHackfest1 - Testing||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15978||<class="bz_short_desc_column">IGTHackfest1 - Fixing and enhancing Tutorial Step 2 and TrackingLab||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15977||<class="bz_short_desc_column">IGTHackfest1 - Fixing and enhancing base plugin mitkTracking||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15969||<class="bz_short_desc_column">Make Tooltip editable in QMitkNavigationToolCreationWidget||
bz_medium bz_high bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15967||<class="bz_short_desc_column">Implement calculation operations for NavigationData||
bz_unspecified bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15966||<class="bz_short_desc_column">Move TrackingVolumeData into Resource system||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15960||<class="bz_short_desc_column">Add convenience methods for AffineTransform3D to NavigationData||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15955||<class="bz_short_desc_column">IGTHackfest1 - Tutorial Overhaul||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15954||<class="bz_short_desc_column">IGTHackfest1 - Bug Fixing||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15953||<class="bz_short_desc_column">IGTHackfest1 - Clean Up||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15952||<class="bz_short_desc_column">IGT Directory Structure Cleanup||
bz_trivial bz_medium bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15951||<class="bz_short_desc_column">Fix failing IGT tests related to double/float conversion||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15940||<class="bz_short_desc_column">Tools are shown twice after second connect||
bz_feature_request bz_medium bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15906||<class="bz_short_desc_column">NavigationDataTransformFilter: Add ability to precomose the user-supplied transform||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15895||<class="bz_short_desc_column">NavigationDataObjectVisualizationFilter: If one input is bad, all subsequent outputs fail||
bz_minor bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15857||<class="bz_short_desc_column">[[QmitkIGTTutorial Missing global reinit when using VirtualTrackingDevice]]||
bz_minor bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15854||<class="bz_short_desc_column">[[QmitkIGTTutorial Tracking tool bug]]||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15825||<class="bz_short_desc_column">Adding new Tracking Volume for NDI Polaris Spectra||
bz_feature_request bz_medium bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15778||<class="bz_short_desc_column">SerialCommunication feature request: Read() until EOL, Send() and block until transmitted||
bz_major bz_high bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">15715||<class="bz_short_desc_column">Tooltip computation is buggy||
bz_critical bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">15641||<class="bz_short_desc_column">Tracking data of NDI Polaris is corrupt in debug mode||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">14433||<class="bz_short_desc_column">Adapt tool management UI to new features of tools||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">12854||<class="bz_short_desc_column">Implement exception handling of tracking device classes||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">11166||<class="bz_short_desc_column">Remove CMake variable for MT calibration dir||
bz_medium bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">10722||<class="bz_short_desc_column">Extent documentation for Bundles IGT Tutorial and IGT Tracking Lab||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_even "class="first-child bz_id_column">10424||<class="bz_short_desc_column">Remove deprecated tracking volume handling||
bz_feature_request bz_low bz_RESOLVED bz_FIXED bz_row_odd "class="first-child bz_id_column">2114||<class="bz_short_desc_column">Add Epsilon Parameter to NavigationDataToMessageFilter||