Releases: aces/Loris-MRI
LORIS-MRI Release v26.0.4
LORIS-MRI Release v27.0.0
This release of the LORIS-MRI repository accompanies the LORIS 27.0.0 release
- List of all LORIS-MRI 27.0.0 changes (not including schema and module changes which were contributed to the main LORIS repo)
- Full Changelog: v26.0.0...v27.0.0
New Features
New DICOM study importer developed in Python
- Creation of a new DICOM study importer developed in Python that supports Enhanced DICOMs (
import_dicom_study.py) #1117, #1264, #1278
Refactoring
- ORM Implementation in the python scripts #1152, #1192, #1200, #1207, #1214, #1216, #1217, #1221, #1224, #1229, #1232, #1249, #1255, #1270, #1271
- Candidate ID SQL refactoring #1252, #1291, #1285, #1286, #1248
- Scan type SQL refactoring #1139
- Creation of a new
lib.configmodule #1253 - Creation of a new
lib.utilpython module #1238 - Creation of a new
lib.util.cryptomodule to compute file hashes #1263 - Migrate
remove_empty_directoriestolib.util.fs(file sytem operation module) #1265 - Refactor of the
get_subject_infofunction of python configuration file #1146, #1150, #1190, #1231, #1250 - Refactor logging architecture in
lib.logging#1191 - Modify the way credentials are obtained for
mysqldumpindelete_imaging_upload.plscript #1282 - Move python scripts to
python/scripts#1196
Various tests and code sniffer implementation
- Typing and code sniffer implementation #1167, #1170, #1172, #1149, #1192, #1193, #1194, #1197, #1210, #1218, #1251, #1237
- Docker setup for LORIS-MRI integration tests #1138, #1171, #1173, #1179, #1187, #1195, #1202, #1215
- Add integration tests for:
- Add database unit tests #1188
Bug fixes
- Fix incorrect uses of
re.match#1294 - Fix bugs preventing the insertion of a MINC file not derived from a LORIS DICOM archive #1289
- Fix SQL statement in
MRI.pm#1284 - Fix compilation error in
uploadNeuroDB/NeuroDB/ImagingUpload.pm#1283 - Fix perl dependencies #1205
- Fix copy path for root-level
events.json#1276 - Fix
ingest_eeg_bids_datasets.py#1275 - Add
Date::Parseto the set of required Perl libraries #1269 - Fix large file hashing memory consumption #1236
- Fix install script and update python installation #1145, #1234
- Improve Python requirements order #1222
- Fix
[ERRNO: 18] Incorrect link accross file systems...error triggered inBasePipeline.move_file#1168 - Add leading
rfor literal regexes across the python code #1176
New Contributors
- @kongtiaowang made their first contribution in #1138
Notes for existing projects
- Update to python requirements: Need to upgrade python to version 3.11 or higher for the python code to work See LORIS PR #1145
- Refactoring of the candidate ID structure on the SQL side might impact queries in project-specific code. See LORIS PR #9556 SQL patch
- Refactoring of the Scan type field names across the MRI tables might impact queries in project-specific code. See LORIS PR #9304 SQL patch
- New ORM implementation and deprecation notices: moving python code to use ORM instead of direct SQL queries. Old functions implementing direct SQL queries will generate deprecation notices so that projects can start moving toward the use of ORM instead of direct queries in the python code. Direct querying will be slowly phased out from the LORIS-MRI code but functionality should be compatible with 26.0 for now.
- Significant changes to the python
database_config.pyfile has been implemented in this release. Please, check the latest template for this file to upgrade your config file accordingly - Python scripts have been moved under
python/scripts. You will need to make sure that/opt/{PROJECT}/bin/mri/python/scriptsare added to thePATHenvironment variable in yourenvironmentfile - There is a new DICOM study importer developed on python (import_dicom_study.py) that supports the import of enhanced DICOMs into the
tarchive*tables. Feel free to give it a try and migrate towards this new pipeline to ingest DICOMs into LORIS.
LORIS-MRI Release v26.0.3
This is a bug fix release for LORIS-MRI version 26.0 that fixes the following:
- Fix bug when trying to create a session via the DICOM to BIDS python pipeline
List of all LORIS-MRI 26.0.3 changes
Full Changelog: v26.0.2...v26.0.3
LORIS-MRI Release v26.0.2
This is a bug fix release for LORIS-MRI version 26.0 that includes the following fixes for the bids_import.py EEG pipeline:
- [EEG] prePackagedDownloadPath and archive fix by @laemtl in #1213
- Disable chunks with useEEGBrowserVisualizationComponents by @laemtl in #1220
List of all LORIS-MRI 26.0.2 changes
Full Changelog: v26.0.1...v26.0.2
LORIS-MRI Release v26.0.1
This is a bug fix release for LORIS-MRI version 26.0 that includes the following fix for the bids_import.py EEG pipeline:
- Fix various issues with the EEG pipeline #1212
- Introduce a new script tools/delete_physiological_file.py to handle deletion of a EEG file and its metadata on the DB and optionally the filesystem. #1212
Full Changelog: v26.0.0...v26.0.1
LORIS-MRI Release v26.0.0
This release of the LORIS-MRI repository accompanies the LORIS 26.0.0 release
- List of all LORIS-MRI 26.0.0 changes (not including schema and module changes which were contributed to the main LORIS repo)
- Full Changelog: v25.0.0...v26.0.0
New Features
- Added HED Support and replaced annotations by EEG BIDS events by @jeffersoncasimir in #1041
- Use the
CenterIDinstead of theCenterNameto identify scans by @nicolasbrossard in #1043
Fixes
Install improvements
- Minor changes to the
environmentlogic for the install by @laemtl in #1134 - Fix
Blake2PERL Module for earlier releases of Ubuntu by @laemtl in #1135 and #1136
Perl scripts improvements
- Properly set field
TarchiveSeriesIDfor acquisitions that do not have an echo time when inserting data intarchive_seriesby @nicolasbrossard in #1055 - Improve command line arguments validation of
minc_insertion.plby @nicolasbrossard in #1123 - Remove the extra constraint in
register_processed_data.plsaying that theSourceFileIDprovided as an argument to the script should not be listed inInputFileIDsprovided as an argument to the script by @cmadjar in #1097 - Fix
ProjectIDerror triggered when runningregister_processed_data.plby @cmadjar in #1103
Python dcm2niix scripts
- Fix
NoneTypeerror when S3 configs are not set properly by @cmadjar in #1110 - Fix
NoneTypeerror when runningrun_dicom_archive_validation.pyon an inexistantUploadIDby @cmadjar in #1111
BIDS import and EEG pipeline
- Bug fix in electrode insertion, where more than one electrode was being inserted every time by @jeffersoncasimir in #1017
- Added
validSamplestoindex.jsonby @jeffersoncasimir in #1030 - Fixed typos preventing
bids_import.pyto run by @jeffersoncasimir in #1129 - Replaced instances of 'derivatives' with 'derivative' by @jeffersoncasimir in #1130
- Fix off-by-one error of
mass_electrophysiology_chunking.pyby @jeffersoncasimir in #1131
Tools
- Fixes segmentation fault error when running
delete_imaging_upload.plscript by @nicolasbrossard #1121 - Fixes of the cronjob for PET uploads by @laemtl in #1113
- Fix JSON format produced by
minc_to_bids_converter.plby @CamilleBeau in #1127
New Contributors
- @CamilleBeau made their first contribution in #1127
Full Changelog: v25.0.0...v26.0.0
Notes for existing projects
If you plan to use the HED support we developed for the bids_import.py pipeline, make sure to run the PHP script on the LORIS side: https://github.com/aces/Loris/blob/main/tools/importers/insert_hed_schema.php
LORIS-MRI Release v24.1.16
This is a bug fix release for LORIS-MRI version 24.1 that includes the following fixes for the bids_import.py EEG pipeline:
- A few minor changes in the chunks script to fix warnings
- Add the
.setpath overrides logic to theextract_eeg_bids_archive.pyscript - Disable the
.setpath overrides logic inbids_import.pyin--no-copyis set totrue.
LORIS-MRI Release v24.1.15
This is a bug fix release for LORIS-MRI version 24.1 that includes the following features:
- support for partial dataset ingestion in
bids_import.py - support in
bids_import.pyto ingest datasets without copying files inassembly_bidsfor cases where the datasets are already inassembly_bids - new script
ingest_eeg_bids_datasets.pyto ingest all EEG uploads with statusextracted
To import partial datasets:
python extract_eeg_bids_archive.py -p database_config.py
python bids_import.py -p database_config.py -d /data/loris/data/assembly_bids/sub-<label>/ses-<label>/eeg --nobidsvalidation --type raw --nocopy
Notes: the --nocopy option is required for partial datasets since the process to create a copy in assembly_bids requires a dataset_description.json file.
bids_import.py new options:
--nobidsvalidation: disable validation for datasets without adataset_description.json(partial import). Required for partial ingestion.--nocopy: disable dataset copy in dataassembly_bids--type: specify the dataset type for datasets without adataset_description.json(partial import)
If you are going to use this pipeline, please contact us.
LORIS-MRI Release v24.1.14
This is a bug fix release for LORIS-MRI version 24.1. It resolves the following bugs:
- [Install] removal of the
pyblake2library from thepiprequirements.txtfile (#1038) - [Python push to S3 script] add method to check and skip duplicate content uploads to S3 (#1037)
- [Python BIDS import and dcm2bids pipelines] Fixes for
parameter_filevalue lists (#1025 and #1034)
Notes for existing projects using one of the python pipelines
If you have been any of the python pipeline to insert MRI data (bids_import.py or the dcm2bids pipeline) then, it is very likely that some of the list were improperly saved in parameter_file. To that end, we create a script to correct the incorrectly saved list values. The following command can be run from the root directory of the LORIS-MRI code:
python tools/correct_lists_incorrectly_saved_in_parameter_file.py -p database_config.py
Note: this is not necessary if you have been only using the perl dcm2mnc insertion pipeline in your project.
LORIS-MRI Release v24.1.13
This is a bug fix release for LORIS-MRI version 24.1. It resolves the following bugs:
- AWS upload subdirectory fix for EEG extraction script (#1023)