Hi brain-wisers,
When running the baby pipeline toolbox, I got an error message several times related to conflict between file uuids. The error message says there is a file with the same uuid than the file being processed by the pipeline. I checked the uuid in the .minf of these files and found that indeed they were the same.
When uuid labels are added to files? I don't think processes of the baby pipeline make any uuid labels. Are they produced only when updating the database?
What can we do to prevent identical uuid labels to occur ? Do we need "to check the database" from the data management toolbox to get rid of these conflicts ?
Thanks for your help,
Francois
Conflict with identical uuid across multiple files
- François Leroy
- Posts: 30
- Joined: Wed Feb 22, 2006 5:22 pm
- riviere
- Site Admin
- Posts: 1361
- Joined: Tue Jan 06, 2004 12:21 pm
- Location: CEA NeuroSpin, Saint Aubin, France
- Contact:
Re: Conflict with identical uuid across multiple files
Hi François,
The uuid is added typically by the brainvisa infrastructure when indexing data in its databases.
The uuid is stored in the .minf file next to the image data. If the image is copied along with the .minf file, then the uuid is duplicated.
This may also happen if a processing program loads an image, modifies it (without creating a new one) and saves it back at a different location. We have not found a way to regenerate/erase uuids automatically in every situation, and are open to any suggestions.
Denis
The uuid is added typically by the brainvisa infrastructure when indexing data in its databases.
The uuid is stored in the .minf file next to the image data. If the image is copied along with the .minf file, then the uuid is duplicated.
This may also happen if a processing program loads an image, modifies it (without creating a new one) and saves it back at a different location. We have not found a way to regenerate/erase uuids automatically in every situation, and are open to any suggestions.
Denis
- François Leroy
- Posts: 30
- Joined: Wed Feb 22, 2006 5:22 pm
Re: Conflict with identical uuid across multiple files
Thanks Denis for this information.
Here is an example of saving a file without uuid duplication. Suppose you have created some array (eg arr_seg) and that you want to save it with a given file name (eg seg_filename) by using a reliable image header which includes its own uuid (eg vol_mri):
vol_seg = aims.Volume_S16( arr_seg )
vol_seg.header().update( vol_mri.header() )
if 'uuid' in vol_seg.header(): del vol_seg.header()['uuid']
aims.write( vol_seg, seg_filename )
In this way, you save reliable header information without uuid duplication. A new uuid will then be added when updating the database.
I hope this is satisfactory and may help brainvisa developpers.
Cheers,
Francois
Here is an example of saving a file without uuid duplication. Suppose you have created some array (eg arr_seg) and that you want to save it with a given file name (eg seg_filename) by using a reliable image header which includes its own uuid (eg vol_mri):
vol_seg = aims.Volume_S16( arr_seg )
vol_seg.header().update( vol_mri.header() )
if 'uuid' in vol_seg.header(): del vol_seg.header()['uuid']
aims.write( vol_seg, seg_filename )
In this way, you save reliable header information without uuid duplication. A new uuid will then be added when updating the database.
I hope this is satisfactory and may help brainvisa developpers.
Cheers,
Francois