Skip to content

LORIS MRI Release v20.3.0

Compare
Choose a tag to compare
@cmadjar cmadjar released this 26 Apr 17:57
a3bb6f3

This release of the LORIS-MRI repository accompanies the LORIS 20.3.0 release.

New Features

  • New tool run_defacing_script.pl to deface structural MINC images already registered in LORIS, and register the defaced images back into LORIS (#366 with SQL changes in aces/Loris#4232), using a modified version of the deface_minpipe.pl MINC tool that performs the defacing algorithm developed in the Collins lab at the MNI. (see #366)
  • Images with no acquisition date (e.g. in the image header) can now be inserted. This is a new feature to facilitate Open Science projects where no dates should be available in the images' header. ( #395)

Improvements

  • [Bug fix] Removed the option -clobber from the call to dicomTar.pl in ImagingUpload.pm so that DICOM archive cannot be overwritten by default by the insertion pipeline (see #396)

  • [Bug fix] Use UploadID to update the mri_upload table instead of the TarchiveID when running the insertion pipeline (see #397)

  • [Bug fix] Fix the paths stored in the violation tables (mri_violations_log, mri_violated_scans, MRICandidateErrors, see #403)

  • [Bug fix] Added a check to verify if CandID and PSCID from the image's header are referring to the same candidate (see #407)

  • [Bug fix] Circumvented bug that made tar fail on NFS file systems in get_dicom_script.pl and added an option -id (see #409)

  • [Bug fix] Fixed the profileTemplate to include a call to the NeuroDB::MRI:: subjectIDIsValid function to validate subject ID information in getSubjectIDs of the profile file. (see #411)

Notes for Existing Projects

  • Make sure to run the tool script called cleanup_paths_of_violation_tables.pl in order to update the MINC location in the 3 violation tables (mri_violations_log, mri_violated_scans, MRICandidateErrors, see #403)

  • Because of the missing check (#407) between CandID and PSCID in the image header, it is possible that MINC files are not associated to the correct candidate. We are working on an MRI doctor script that will do all sort of data integrity checks and this will definitely be one of them. (see #400 for details)

  • Recommended improvement: Validate your visit labels before loading scans: If the function getSubjectIDs in your prod file (i.e. the MRI configuration file in dicom-archive/.loris-mri/) contains the following flag $subjectID{'createVisitLabel'} set to 1 ($subjectID{'createVisitLabel'} = 1;), then we recommend adding a call to the NeuroDB::MRI:: subjectIDIsValid function to validate the visit label, otherwise the pipeline will automatically create the visit in the session table (see #411 for details).

  • If you desire to use the new defacing tool, make sure you have:

    • downloaded and installed the bic-mni-models anatomical template library and the beast library from the MINC tools in /opt/minc/ (https://bic-mni.github.io/#data-files-and-models)
    • added the two following variables to your environment file so that the scripts can find the MNI models (replace %MINC_TOOLKIT_DIR% by the path to your MINC toolkit install):
    # for the defacing scripts
    export BEASTLIB=%MINC_TOOLKIT_DIR%/../share/beast-library-1.1
    export MNI_MODELS=%MINC_TOOLKIT_DIR%/../share/icbm152_model_09c
    
    • sourced the SQL patch from the aces/Loris#4232 LORIS PR

    • adapted the constant variables (%SPECIAL_ACQUISITIONS_FILTER, @MULTI_CONTRAST_ACQUISITIONS_BASE_NAMES) at the top of the tools/run_defacing_script.pl script to your project's need.

    • make sure which deface_minipipe.pl is returning the following $LORIS-MRI/uploadNeuroDB/bin/deface_minipipe.pl script and not the one present in the MINC toolkit (/opt/minc/$VERSION) as LORIS-MRI is using the version of deface_minipipe.pl under development (which have not yet been released with the MINC tools). If which deface_minipipe.pl is not pointing to the correct script, you will need to update the $PATH bash variable of your environment file to make sure $LORIS-MRI/uploadNeuroDB/bin is the first path mentioned in the variable.