View Issue Details

IDProjectCategoryView StatusLast Update
0001927Slicer4Core: MRMLpublic2014-03-06 06:10
Reporterpieper Assigned Topieper  
PriorityhighSeverityfeatureReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.2.0Fixed in VersionSlicer 4.1.1 
Summary0001927: Add "Slicer Data Bundle" read/write to .mrb (zip) files
Description

While slicer has traditionally used .mrml (xml) files to point to data stored in a collection of files in arbitrary locations (or even urls) for some use cases this is a burden and it would be preferable to have a single file that encapsulates an entire document.

Additional Information

The proposal here is to create a new format called a 'medical reality bundle' that is a .zip file containing a scene.mrml file and all the data it points to.

The application logic currently has support for creating the self-contained

const char vtkMRMLApplicationLogic::SaveSceneToSlicerDataBundleDirectory(const char sdbDir, vtkImageData *screenShot)

http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&revision=17927

However these are not yet saved as a single file. The goal here is to use libarchive to create a file in zip format containing the results of this method (with a unique .mrb file extension so slicer can recognize them in the future).

TagsNo tags attached.

Activities

pieper

pieper

2012-04-23 06:31

administrator   ~0004057

Note that in order to implement this we'll need to upgrade the version of libarchive on all platforms since writing zip files was only added in newer versions of libarchive (>3).

From the notes in the superbuild file it seems that version 3.0.3 works on all platforms.

http://viewvc.slicer.org/viewvc.cgi/Slicer4/trunk/SuperBuild/External_LibArchive.cmake?view=log

pieper

pieper

2012-04-23 07:38

administrator   ~0004058

This bug is being worked on in this branch:

https://github.com/pieper/Slicer/tree/1927-mrb

pieper

pieper

2012-04-23 07:53

administrator   ~0004059

Nicole has done most of the libarchive logic in this method:

const char vtkMRMLApplicationLogic::Zip(const char zipFileName, const char tempDir, vtkImageData screenShot)

But there is also now some "vtkArchive" which isn't really a vtk class, but instead is just a library with a single function. I plan to move the zip writing and reading helper functions into the vtkArchive file for easier re-use.

pieper

pieper

2012-05-07 05:50

administrator   ~0004181

Added in commits 19996-20013

Issue History

Date Modified Username Field Change
2012-04-23 06:29 pieper New Issue
2012-04-23 06:29 pieper Status new => assigned
2012-04-23 06:29 pieper Assigned To => pieper
2012-04-23 06:31 pieper Note Added: 0004057
2012-04-23 07:38 pieper Note Added: 0004058
2012-04-23 07:53 pieper Note Added: 0004059
2012-05-07 05:50 pieper Note Added: 0004181
2012-05-07 05:50 pieper Status assigned => closed
2012-05-07 05:50 pieper Resolution open => fixed
2012-05-08 15:13 jcfr Target Version => Slicer 4.x AHM Summer 2012
2014-03-06 06:10 jcfr Fixed in Version => Slicer 4.1.1