Changelog#

6.2 (2024-02-15)#

View detailed changelog

FEATURE

  • sct_deepseg: Integrate NNUnet/MONAI models into DeepSeg CLI (contrast-agnostic, SCI, rootlets, Zurich mouse). View pull request

  • sct_qc: Save QC records to browser local storage. View pull request

  • sct_warp_template: Update PAM50 link to include new template/PAM50_rootlets.nii.gz file. View pull request

ENHANCEMENT

  • Convert integer images to floating point when resampling with linear interpolation. View pull request

BUG

  • sct_analyze_lesion: Set minmax=False to prevent cropping during angle correction, avoiding slice number mismatches. View pull request

  • sct_compute_compression: Fix reversed slice numbering (S->I => I->S) in output CSV file. View pull request

  • sct_compute_mtsat: Apply missing B1 correction to r1map and a calculations to fix MTsat bug. View pull request

  • sct_deepseg: Reverse spacings to match nnUNet’s SimpleITK-based conventions. View pull request

  • sct_deepseg, sct_label_vertebrae: Mitigate scaling issues (1.0 -> 0.999) due to float/int datatype mismatches between header and array. View pull request

  • sct_label_vertebrae: Fix path splitting when space (' ') is present in isct_spine_detect model path. View pull request

  • sct_register_to_template: Ensure reorientation is performed consistently before any resampling. View pull request

  • sct_register_to_template: Fix straightening error during registration if 3+ labels are supplied and topmost disc label is not C1. View pull request

INSTALLATION

  • Temporary fix for dependency issue with dipy 1.8.0. View pull request

  • Fix broken pip installer by forcing it to detect macOS 11 as 11.0 and not 10.16. View pull request

  • Document Rosetta 2 as a requirement for installation on Apple silicon (M1, M2, M3). View pull request

DOCUMENTATION

  • sct_compute_compression: Update argparse descriptions to make it clear that the script can also be used to compute MCC. View pull request

  • sct_label_utils: Clarify the argparse help description for the -disc argument. View pull request

  • sct_run_batch: Add example syntax for YAML and JSON config files to the argparse help description for exclude_list. View pull request

  • sct_run_batch: Add examples to -include-list and -exclude-list flags. View pull request

  • Add links to both the slide deck and YouTube video for the 2023 SCT Course. View pull request

  • Port changes from SCT Course 2023 Google Slides to the web tutorials. View pull request

  • Update sphinx and furo while removing “Edit on GitHub” hack in the process. View pull request

REFACTORING

CI

6.1 (2023-11-03)#

View detailed changelog

FEATURE

  • sct_analyze_lesion: Add function to output the axial damage ratio + minor improvements. View pull request

  • sct_download_data: Add current sct_tutorial_data release as a new course dataset. View pull request

  • sct_download_data: Update PAM50 template link to include cord and lumbar label changes. View pull request

  • sct_run_batch: Add start date information to the logs. View pull request

ENHANCEMENT

  • sct_compute_compression: Improvements of CLI output printed by the sct_compute_compression. View pull request

  • sct_deepseg: Append -list-tasks to argparse help and update -list-tasks-long. View pull request

  • sct_label_utils: Speed up -remove-reference by removing unnecessary iteration. View pull request

  • sct_run_batch: Raise error if -config file has wrong suffix. View pull request

BUG

  • sct_compute_compression: Use pandas for .csv saving to correctly merge existing output metric columns. View pull request

  • sct_deepseg: Add checks for empty arrays post-segmentation. View pull request

  • sct_deepseg: Update model releases (lumbar_seg, t2star_sc) to fix output suffix (_seg-manual -> _seg). View pull request

  • sct_dmri_compute_dti: Avoid dipy versions 1.6.0 + 1.7.0 that contain a method=restore bug. View pull request

  • sct_dmri_display_bvecs: Fix ValueError by passing a tuple to color= instead of a numpy array. View pull request

  • sct_label_vertebrae: Check whether the provided discfile is empty. View pull request

  • sct_propseg: Remove parent parts from fname_out to fix buggy -o behavior. View pull request

  • sct_qc: Fix QC for soft segmentations that have light regions close to 1.0 (e.g. 0.999). View pull request

  • sct_register_to_template: Raise exception if sform/qform don’t match during registation. View pull request

  • sct_register_to_template: Avoid duplicate orthogonal labels during registration by checking existing labels first. View pull request

  • sct_register_to_template: Switch matmul syntax (* -> @) to follow-up previous np.matrix -> np.array change. View pull request

  • sct_straighten_spinalcord: Fix IndexError during straightening if -dest image is shorter than centerline image (-s). View pull request

  • Gracefully handle infinity as well as NaN values in QC. View pull request

  • Fix distorted registration due to straightening bug in get_closest_to_absolute. View pull request

  • Temporarily pin onnxruntime to <1.16. View pull request

  • Avoid onnxruntime 1.16.0 but allow onnxruntime >=1.16.1. View pull request

INSTALLATION

DOCUMENTATION

  • sct_compute_compression: Add tutorial for sct_compute_compression in documentation. View pull request

  • sct_compute_compression, sct_process_segmentation: Add references for PAM50 normalized metrics. View pull request

  • sct_download_data: List sct_download_data datasets at the end of -h. View pull request

  • sct_download_data: Color installed datasets for sct_download_data -h. View pull request

  • sct_run_batch: Clarification of sct_run_batch -script-args input flag help. View pull request

  • sct_run_batch: Add note that ~ should not be used in paths passed using the -script-args arg. View pull request

  • Update installation docs for Windows (Miniconda) and Linux/macOS (standalone installer). View pull request

  • Migrate old ReadTheDocs settings to .readthedocs.yaml. View pull request

  • Update documentation for new spinal levels. View pull request

  • Disable PDF and EPUB documentation builds. View pull request

  • Update figure and references for “Other shape metrics” tutorial. View pull request

  • Fix typo in “Other shape metrics” tutorial. View pull request

  • Add tutorial for lumbar segmentation and registration. View pull request

REFACTORING

  • sct_analyze_lesion: Simplify lesion volume computation. View pull request

  • sct_compute_compression: Use the pandas.DataFrame.combine_first method. View pull request

  • sct_warp_template: Remove -s functionality and add a deprecation warning. View pull request

CI

  • Exit on errors anywhere in the linter script. View pull request

  • Update changelog PR workflow to fix milestone title error and to also change version.txt. View pull request

6.0 (2023-07-14)#

View detailed changelog

FEATURE

  • sct_analyze_lesion: Allow lesion volume calculation without providing SC seg. View pull request

  • sct_compute_compression: Add new CLI script to compute normalized metric ratios (MSCC, etc.) for compressed levels. View pull request

  • sct_crop_image: Add -dilate option to enable cropping around a spinal cord segmentation. View pull request

  • sct_deepseg: Add support for model ensembles to sct_deepseg, update mp2rage_lesion model. View pull request

  • sct_deepseg_lesion, sct_qc: Add sagittal mosaic QC and use it for sct_deepseg_lesion QC report. View pull request

  • sct_get_centerline: Add -centerline-soft option to output a non-binary “soft” centerline. View pull request

  • sct_image: Replace -setorient-data with -flip and -transpose options. WARNING: Breaks compatibility with previous version. View pull request

  • sct_label_utils: Add new project_centerline option in sct_label_utils to project an image on the spinal cord centerline . View pull request

  • sct_process_segmentation: Bring metrics in PAM50 anatomical dimensions in sct_process_segmentation. View pull request

  • sct_process_segmentation: Display vertebral levels when provided with -perslice 1. View pull request

  • sct_warp_template: Add new -histo option to warp the newly-added PAM50 histology files. View pull request

  • sct_register_to_template: List resampled labels in order. View pull request

ENHANCEMENT

  • sct_detect_pmj: Add -qc-dataset and -qc-subject flags to sct_detect_pmj.py. View pull request

  • sct_image: Add -qc-subject and -qc-dataset flags to sct_image. View pull request

  • sct_label_utils: Update labelize_from_discs() to add level labels above the top disc and below the bottom disc. View pull request

  • sct_maths: Use filters.rank instead of dilate/erode for uint8/uint16 images. View pull request

  • sct_propseg: Silence unnecessary “overwriting” messages when updating output image header. View pull request

  • Fix indentation for wrapped lines in argparse help. View pull request

  • Fix broken tqdm behavior for Windows and older Unix platforms. View pull request

  • Use sct_progress_bar for algo=columnwise and register2d slicewise loops. View pull request

  • Replace algo=rigid with algo=slicereg for mt0-mt1 registration. View pull request

  • Selectively display relpath or abspath in viewer syntax based on CWD. View pull request

BUG

  • sct_analyze_texture: Change grey –> gray in imports of skimage.feature functions. View pull request

  • sct_compute_ernst_angle: Fix upper/lower TR bounds used when plotting Ernst angles (argument -b). View pull request

  • sct_deepseg: Clean up improper submodule access (via imported parent modules). View pull request

  • sct_deepseg_lesion: Fix broken -v 2 case by making sure fname_res_ctr exists prior to resampling. View pull request

  • sct_deepseg_sc: Ensure that qform/sform codes are preserved when generating segmentation. View pull request

  • sct_get_centerline: Prevent soft centerline being used with non fitseg methods. View pull request

  • sct_get_centerline: Add extrapolation for sct_get_centerline fitseg. View pull request

  • sct_image: Swap order of sct_image -stitch QC images to fix incorrect YML path. View pull request

  • sct_label_utils: Fix buggy -create-viewer behavior on initialization (undo crash, blank checkboxes). View pull request

  • sct_plugin.py (FSLeyes): Catch errors from outdated wxpython versions bundled with FSL, then suggest a solution. View pull request

  • sct_qc: Faithfully display sct_qc arguments, rather than making a fake command. View pull request

  • sct_qc: Ensure that sagittal images (and softsegs) are resampled correctly for lesion QC. View pull request

  • sct_qc: Fix errors in the list of available QC processes (index.html, sct_qc.py). View pull request

  • sct_register_to_template: Ensure that the straightening.cache file is output to the PWD during template registration. View pull request

  • sct_resample: Update -mm and -ref argument descriptions, fix parse.error logic, and add tests. View pull request

  • Pin numpy<1.24 to mitigate incompatibility with pystrum==0.2. View pull request

  • Better isolate the SCT conda env by using -p instead of -n during creation. View pull request

  • Make matplotlib less verbose. View pull request

  • Use importlib.metadata to fetch list of scripts instead of pkg_resources. View pull request

INSTALLATION

DOCUMENTATION

  • sct_deepseg: Move MP2RAGE cropping comment from “model” description to “task” description. View pull request

  • sct_deepseg_lesion: Update description of -file_centerline flag to mention -centerline file instead of -centerline manual. View pull request

  • sct_register_multimodal: Add an example -param configuration to the argparse help description of algo=dl. View pull request

  • Improve the readability of temporary directory names throughout SCT. View pull request

  • Add link to mailing list. View pull request

  • Improve the appearance of spinalcordtoolbox.com in search results. View pull request

  • Standardize Python file headers for copyright and license information. View pull request

  • Encode emoji in utf-8. View pull request

  • Clarify documentation for compute_vertebral_distribution. View pull request

REFACTORING

CI

GIT/GITHUB

5.8 (2022-12-02)#

View detailed changelog

FEATURE

  • sct_image: Add new -stitch option that wraps stitching functionality from Glocker et al.. View pull request

  • sct_process_segmentation: Add DistancePMJ when perslice flag in sct_process_segmentation. View pull request

  • sct_run_batch: Add -ignore-ses flag to process sub- directories even when ses- subdirectories are present. View pull request

ENHANCEMENT

  • Update header dtype property on save/load to match the datatype of the data array. View pull request

  • sct_analyze_lesion, sct_analyze_texture, sct_denoising_onlm: Enforce use of display_viewer_syntax in four scripts using hardcoded fsleyes commands. View pull request

  • sct_get_centerline: Ensure that the output of get_centerline() can be saved using -r 0. View pull request

  • sct_image: Update binaries_linux to include a rebuilt version of stitching that targets centos7. View pull request

  • sct_label_vertebrae, sct_qc: Add readability fixes for QC reports (sagittal view scaling, label text, label colormaps). View pull request

  • sct_register_multimodal: Add dimensions of data to registration logging. View pull request

  • sct_register_multimodal: Minimize memory usage for algo=dl (and add a warning for potential OOM killer issues). View pull request

  • sct_register_to_template: Throw error when labels are lost during the straightening transform. View pull request

BUG

  • Properly escape \ in the regex for removing sct_env from old RC files. View pull request

  • Ensure that calling printv(type='error') actually exits the program. View pull request

  • Reduce logging from intermediate CLI scripts by setting -v 0 in main() calls. View pull request

  • Address [Errno 24] Too many open files during motion correction. View pull request

  • Fix several bugs when loading headers in the Image constructor. View pull request

  • Set a more permissive quaternion_threshold inside Image constructor. View pull request

  • sct_analyze_lesion: Fix output filename spelling. View pull request

  • sct_check_dependencies: Re-add print_line call for PropSeg check. View pull request

  • sct_extract_metric: Ensure that -list-labels is the last argument that is parsed. View pull request

  • sct_get_centerline: Exclude original file extension (e.g. .nii.gz) from the output .csv filename. View pull request

  • sct_merge_images, sct_smooth_spinalcord: Enforce type=int for arguments that use choices=(0, 1). View pull request

  • sct_propseg, sct_straighten_spinalcord: Pass argv to generate_qc functions (instead of arguments or sys.argv[1:]). View pull request

  • sct_register_multimodal: Improve handling of case where algo is specified alongside type='label'. View pull request

  • sct_run_batch: Modify -include-list and -exclude-list to check against parts of a directory, too. View pull request

  • sct_run_batch: Fix include_list/exclude argument ordering in call to _filter_directories. View pull request

  • sct_run_batch: Allow path_output parameter to start with ~. View pull request

  • install_sct.bat: Use delayed expansion (!!) for git_ref. View pull request

INSTALLATION

  • Upgrade SCT from Python 3.7 to Python 3.8. View pull request

  • Limit pyqt5 to >5.11 and <5.15 to avoid “Cannot load library libqxcb.so” error on Ubuntu. View pull request

  • Ensure bundled GLIBC is up-to-date in order to resolve MESA-LOADER errors. View pull request

  • Add more thorough check for git within the PATH for the Windows installer. View pull request

DOCUMENTATION

  • Remove API pages from the documentation. View pull request

  • Fix copy-paste typos in tutorial documentation. View pull request

  • Add Google Sheets summary graphs to studies.rst. View pull request

  • Switch to higher-quality “Tools used” graph on the studies page. View pull request

  • Update outdated links to atlas and spinal_level scripts in pam50.rst. View pull request

  • Clarify strengths of both sct_propseg and sct_deepseg in the documentation. View pull request

  • Fix typo in “Registration” tutorial (slice-by-slide -> slice-by-slice). View pull request

  • sct_deepseg_lesion: Add missing spaces in multiline strings, and missing commas in lists. View pull request

  • sct_image: sct_image: Clarify descriptions for -setorient commands. View pull request

  • sct_maths: Fix small typo in -uthr help description (below -> above). View pull request

  • sct_process_segmentation: Add references to Bédard and Cohen-Adad. View pull request

  • sct_register_multimodal: Add scaling to sct_register_multimodal -dof argument help. View pull request

REFACTORING

  • Replace run_proc calls with main calls across SCT’s scripts. View pull request

  • Replace argv=None default by argv: Sequence[str] type hint. View pull request

  • Simplify add_suffix. View pull request

  • Move 5 unused scripts to spinalcordtoolbox-dev. View pull request

  • Remove unused isct_ scripts from SCT’s CLI and test suite. View pull request

  • sct_check_dependencies: Convert isct_test_ants script into a pytest test, then call via sct_check_dependencies. View pull request

  • sct_compute_snr, sct_dmri_moco, sct_fmri_moco, sct_maths, sct_process_segmentation: Call parser.error properly. View pull request

  • sct_dmri_denoise_patch2self: Deal with nibabel deprecation of get_header and get_data. View pull request

  • sct_download_data: Refactor data downloading API to remove dependency on CLI script. View pull request

  • sct_merge_images: Tidy up PEP8 warnings and other small style issues. View pull request

  • sct_process_segmentation: Improve handling of default arguments. View pull request

  • math.py: Address selem deprecation by using footprint. View pull request

  • shell.py: Let Metavar inherit from str to silence PyCharm type warning. View pull request

CI

5.7 (2022-07-28)#

View detailed changelog

FEATURE

  • sct_process_segmentation,sct_extract_metric: Combine conditions when slice number and vertebral levels are both specified. View pull request

  • sct_register_to_template,sct_register_multimodal: Integration of DL multimodal registration in SCT. View pull request

  • Allow in-place installations (to support PRs from forks). View pull request

CI

BUG

  • sct_propseg: Prevent from overwriting files by outputting to a tempdir prior to renaming. View pull request

  • sct_maths: Swap if for elif to prevent error from being thrown when calling sct_maths -mi. View pull request

  • sct_merge_images: Remove catch-all exception handling. View pull request

  • image.py: Use shutil.copyfile for output files if src/dest are on different filesystems. View pull request

  • sct_process_segmentation: Move CSA normalization models to ./data/ at the root of the SCT repo. View pull request

  • sct_maths: Rewrite -add/-sub/-mul/-div to match expected behavior for 3D/4D images. View pull request

  • image.py: Use absolutepath when loading images. View pull request

INSTALLATION

  • Repair automated commenting out of pre-4.0 sct settings. View pull request

  • requirements.txt: Pin protobuf to fix upstream Keras issue. View pull request

  • Replace pushd/popd with cd-in-a-subshell. View pull request

  • requirements.txt: Use CPU --extra-index-url to remove strict dependency pinning for torch. View pull request

  • sct_download_data: Use binaries that are packaged by the spinalcordtoolbox-binaries repo. View pull request

DOCUMENTATION

ENHANCEMENT

  • sct_check_dependencies: Clean up FSLeyes version checking to be less verbose/confusing. View pull request

  • fslhd: Account for None orientation strings when printing image headers. View pull request

  • sct_deepseg_sc,sct_deepseg_gm,sct_deepseg_lesion: Replace Tensorflow/Keras-based inference (.h5) with onnxruntime (.ONNX). View pull request

REFACTORING

  • utils.py: Unify calls to shutil.move by using only utils.fs.mv. View pull request

  • Reduce flake8 warnings throughout the codebase. View pull request

  • sct_label_vertebrae: Remove deprecation warning for previously-removed gaussian_std argument. View pull request

  • Fix executable file permissions and remove unnecessary header declarations. View pull request

  • aggregate_slicewise.py: Update docstring for the aggregate_per_slice_or_level function. View pull request

  • sct_register_to_template,sct_register_multimodal: Fix circular and star importing in registration CLI scripts. View pull request

GIT/GITHUB

5.6 (2022-04-29)#

View detailed changelog

FEATURE

CI

BUG

  • sct_deepseg: Rewrite ANSI color code snippets to support terminals limited to 16-colors. View pull request

  • sct_label_vertebrae: Output a better error message when the initial disc is invalid. View pull request

  • Set a more permissive threshold for reading the qform. View pull request

  • sct_check_dependencies: Skip checking isct_propseg on Windows. View pull request

  • sct_analyze_texture: Stop using a tempfile for data reorientation. View pull request

  • Open CSV files using newline='' to fix \r\r\n issue. View pull request

  • sct_run_batch: Check isdir directly, rather than trying to catch IsADirectoryError. View pull request

  • sct_dice_coefficient: Update CMakeLists.txt to include bugfix for unresolved external symbol errors. View pull request

  • sct_run_batch: Account for non-UNIX platforms in sys.platform checks. View pull request

  • Replace hardcoded /tmp directory with tmp_path. View pull request

  • Clean-up Windows-incompatible hardcoded / path separators. View pull request

  • sct_run_batch: Add better support for shell script batch processing on Windows. View pull request

  • Improve how image overwriting is handled for memory-mapped data arrays on Windows. View pull request

  • sct_propseg: Attempt to fixup isct_propseg build (but ultimately skip sct_propseg on Windows). View pull request

  • sct_label_vertebrae: Refactor -param parsing to address several bugs. View pull request

  • sct_propseg: Fix parsing of -d argument in script. View pull request

  • sct_analyze_lesion: Fix computation of estimated lesion length and diameter. View pull request

  • Rewrite QC test to use Pool.close() to avoid stalling with pytest-cov. View pull request

  • sct_get_centerline: Stop appending .nii.gz to the centerline output filepath if -o has an extension. View pull request

INSTALLATION

DOCUMENTATION

ENHANCEMENT

REFACTORING

5.5 (2022-01-26)#

View detailed changelog

FEATURE

  • sct_deepseg: Add models for MP2RAGE SC and MS lesion segmentation. View pull request

  • sct_testing: Bring back previously-removed command as a light wrapper for pytest. View pull request

  • sct_deepseg: Add spinal cord/gray matter multiclass segmentation model for 7T data. View pull request

  • sct_dmri_denoise_patch2self: Add new Patch2Self CLI script for dMRI denoising. View pull request

CI

BUG

INSTALLATION

DOCUMENTATION

ENHANCEMENT

  • sct_download_data: Add default output folders for dataset downloads. View pull request

REFACTORING

  • Remove channel=None bugfix that was superseded by upstream skimage=0.19.1 patch. View pull request

GIT/GITHUB

5.4 (2021-09-24)#

View detailed changelog

FEATURE

  • sct_process_segmentation: Add CSA normalization in sct_process_segmentation. View pull request

  • sct_register_multimodal: Add -owarpinv to sct_register_multimodal. View pull request

  • sct_maths: Introduce -uthr (upper threshold) to complement -thr (lower threshold) in sct_maths. View pull request

  • sct_process_segmentation: Add PMJ-based CSA in batch_processing.sh. View pull request

  • sct_compute_snr: Implement new method to compute SNR on a single 3D volume. View pull request

  • sct_process_segmentation: Measure CSA based on distance from pontomedullary junction (PMJ). View pull request

  • sct_process_segmentation,sct_qc: Add QC report for sct_process_segmentation for PMJ-based CSA. View pull request

  • sct_compute_snr: Add -o argument to output SNR value to a text file. View pull request

  • sct_qc: Display soft segmentation in qc report. View pull request

  • sct_run_batch: Make it possible to loop across “ses-” entity. View pull request

  • sct_dmri_display_bvecs: Allow sct_dmri_display_bvecs.py to display multi-shell acquisition. View pull request

CI

BUG

  • sct_check_dependencies: Import pyplot before PyQt to mitigate a finicky libgcc_s.so.1 error. View pull request

  • sct_smooth_spinalcord: Fix the output files of sct_smooth_spinalcord (smooth.nii.gz, straight_ref.nii.gz). View pull request

  • Fix-up broken test for sct_compute_snr. View pull request

  • sct_register_to_template,sct_register_multimodal: Apply softmask workaround to slicereg algorithm. View pull request

  • sct_qc: Fix display of PMJ in QC report. View pull request

  • sct_qc: Check if input segmentation is binary for QC report. View pull request

  • sct_plugin.py (FSLeyes): Fix FSLeyes script to make it compatible with both FSLeyes v0.34 and v1.0. View pull request

  • Don’t set the global loglevel when CLI scripts are called in-code. View pull request

  • sct_register_multimodal: Don’t output dest->src files if registration is only performed one-way. View pull request

  • sct_propseg: Fix rescale_header is not 1 because the default value is 1.0. View pull request

  • sct_process_segmentation: Prevent metric calculation for empty slices by checking if array is ~0. View pull request

  • sct_label_utils: Ensure a copy of the header is used in zeros_like to fix -create-viewer bug. View pull request

  • sct_dmri_display_bvecs: Add test for sct_dmri_display_bvecs, then add -v argument to make the test pass. View pull request

  • sct_dmri_moco: Fix -bvals filepath handling and update bvals argparse help. View pull request

  • sct_resample: Make sure TR parameter isn’t lost when resampling 4D images. View pull request

  • sct_apply_transfo: Change sct_apply_transfo -v 0 to match isct_antsApplyTransform output. View pull request

INSTALLATION

  • sct_check_dependencies: Don’t crash on non-ImportError exceptions when checking dependencies. View pull request

  • Stop trying to detect headless systems using DISPLAY, and no longer set MPLBACKEND. View pull request

  • Throw error during installation if $SCT_DIR contains spaces. View pull request

DOCUMENTATION

ENHANCEMENT

REFACTORING

GIT/GITHUB

  • Replace neuropoly/spinalcordtoolbox with spinalcordtoolbox/spinalcordtoolbox. View pull request

5.3.0 (2021-04-25)#

View detailed changelog

FEATURE

  • sct_image: Handle affine matrix mismatches better by exposing -set-qform-to-sform. View pull request

  • sct_extract_metric: Implemented weighted median. View pull request

  • sct_dmri_moco,sct_fmri_moco,sct_qc: Implement QC for sct_dmri_moco and sct_fmri_moco. View pull request

  • sct_image: Add flag to sct_image to print image headers. View pull request

  • sct_download_data: Add entry to download exvivo template. View pull request

  • sct_register_to_template: Added flag -s-template-id to use another segmentation (e.g. white matter) for registration to template. View pull request

  • sct_qc: Interactive QC assessment: Add Pass/Fail/Artifact and download YAML file. View pull request

CI

BUG

  • sct_run_batch: Fully isolate the conda env by its site.py. View pull request

  • sct_image: Various fixes to sct_image -display-warp. View pull request

  • sct_image: Fix faulty check for arguments.set_sform_to_qform. View pull request

  • sct_deepseg: Update model and fixed default output suffix. View pull request

  • Update outdated sct_register_graymatter command in batch_processing.sh. View pull request

  • sct_run_batch: Unset PYTHONNOUSERSITE in environment before calling batch script. View pull request

  • sct_register_to_template: Fixed right-left flip if template is not RPI and other minor improvements. View pull request

  • Use less strict value for rel_tolerance in the batch_processing.sh test. View pull request

  • sct_deepseg: Unpin ivadomed to get latest version and fix wrong q/sform_code output. View pull request

  • Replace instances of ‘sct_convert.convert’ with ‘image.convert’. View pull request

  • sct_label_vertebrae,sct_warp_template: Replace ANTs binary call with sct_apply_transfo call to properly set sform. View pull request

  • sct_create_mask: Create 2d masks in memory instead of via intermediate files. View pull request

  • sct_label_vertebrae: Handle ‘label_discs’ case where SC segmentation has holes/discontinuities. View pull request

  • sct_dice_coefficient: Uniquely distinguish filenames for tmp files to prevent overwriting. View pull request

  • Decrease the sensitivity of the sform/qform mismatch check. View pull request

DOCUMENTATION

ENHANCEMENT

GIT/GITHUB

5.2.0 (2021-02-24)#

View detailed changelog

FEATURE

  • sct_deepseg: New segmentation model: GM and WM for exvivo DWI data (University of Queensland). View pull request

BUG

  • sct_register_to_template: Enforce UINT8 when resampling labels for register to template. View pull request

  • Fix size calculation bug for ‘-method map’ and ‘-method ml’. View pull request

  • Fix recently-introduced faulty slice index comparison. View pull request

  • Fix unit_testing/test_labels.py::test_remove_missing_labels. View pull request

DOCUMENTATION

ENHANCEMENT

REFACTORING

  • sct_image: Refactor sct_image functions to accept Image objects as input . View pull request

  • sct_maths: Refactor sct_maths callers to remove subprocess and use API. View pull request

GIT/GITHUB

5.1.0 (2021-01-22)#

View detailed changelog

FEATURE

DOCUMENTATION-INTERNAL

BUG

  • sct_compute_hausdorff_distance,sct_dmri_compute_dti: Fix bugs introduced by recent init step refactoring pull request. View pull request

  • sct_propseg: Replace os.path.dirname with pathlib.Path().parent. View pull request

  • sct_deepseg,sct_run_batch: Make sure (most) scripts return error code and print usage when no args are passed. View pull request

  • sct_label_utils: Add new ‘-create-seg-mid’ option to replace bugged ‘-create-seg -1’ behavior. View pull request

  • Replace “argv if argv else ‘–help’” behavior with subclassed ArgumentParser. View pull request

  • Replace troublesome unicode quote characters with more friendly ones. View pull request

  • Fixup realpath polyfill. View pull request

  • Fix incorrect indexing in get_center_spit to prevent QC report cropping. View pull request

  • Forces output label image to be UINT8 with -create-viewer. View pull request

  • Check that conda actually activated during install.. View pull request

  • sct_label_vertebrae: Change Error type so program doesn’t quit when labels are too high. View pull request

  • Set PYTHONNOUSERSITE=True to prevent user site packages from interfering. View pull request

  • Bump ivadomed version to 2.5.0. View pull request

  • sct_label_vertebrae: Fixed missing top disc label with using -discfile . View pull request

  • sct_label_vertebrae: Obsolete -denoise functionality. View pull request

  • Fix API importing scripts. View pull request

INSTALLATION

DOCUMENTATION

ENHANCEMENT

  • Various improvements for the manual labeling of cord centerline. View pull request

  • sct_deepseg: Add option to have a custom task. View pull request

  • sct_run_batch: Print actual numbers of jobs run in parallel.. View pull request

  • Update tumor segmentation models. View pull request

  • Change default option values to None. View pull request

  • sct_deepseg_sc,sct_detect_pmj,sct_propseg: Implement -o flag for a few functions. View pull request

  • sct_label_utils: Update -create-viewer argument to use parse_num_list function. View pull request

  • sct_label_vertebrae: Check that there is two inputs for initz. View pull request

  • sct_register_multimodal: Introduced flags samplingStrategy and samplingPercentage for ANTs calls; Set default to ‘None’ to ensure reproducible results. View pull request

REFACTORING

GIT/GITHUB

5.0.1 (2020-11-12)#

View detailed changelog

CI

BUG

  • sct_process_segmentation: Add missing type information to argument in sct_process_segmentation. View pull request

  • Pin onnxruntime==1.4.0 to avoid libomp issue on macOS. View pull request

DOCUMENTATION

ENHANCEMENT

  • sct_run_batch: sct_run_batch: handle the case of unexecutable script. View pull request

  • sct_label_utils: sct_label_utils.py: Add message for generated files. View pull request

  • Display command when scripts are called from the command-line. View pull request

REFACTORING

  • sct_deepseg: Refactor deepseg/core.py into sct_deepseg and update relevant test. View pull request

5.0.0 (2020-11-07)#

View detailed changelog

FEATURE

BUG

INSTALLATION

DOCUMENTATION

ENHANCEMENT

  • sct_extract_metric: Introduce flag to list labels. View pull request

  • sct_register_to_template: Fixes inconsistencies between PAM50 levels and cord. View pull request

  • Use SystemExit not sys.exit & only on error paths.. View pull request

  • fsleyes: allow user to specify output folder. View pull request

  • sct_image: sct_image: -copy-header should use -o as output file. View pull request

  • sct_concat_transfo: Deprecate sct_concat_transfo + refactor callers. View pull request

  • sct_maths: sct_maths: Convert usage of convert_list_str to use list_type. View pull request

  • sct_run_batch: Prevent crash if folder already exists. View pull request

  • msct_parser: Convert 11-20 out of 20 remaining scripts from msct_parser to argparse. View pull request

  • sct_run_batch: Fix thread reporting, early termination, and indentation error in sct_run_batch. View pull request

  • msct_parser: Convert 1-10 out of 20 remaining scripts from msct_parser to argparse. View pull request

  • sct_apply_transfo: Clarified cropping strategy for sct_apply_transfo; remove warning. View pull request

  • sct_run_batch: Various improvements. View pull request

  • sct_run_batch: Introduced variable PATH_DATA_PROCESSED. View pull request

  • sct_deepseg: Accommodate a cascade of deep learning models. View pull request

  • Improvements for the FSLeyes plugin. View pull request

  • sct_run_batch: Various improvements: create log, send email, config file, include/exclude list of subjects. View pull request

REFACTORING

  • msct_parser: Remove msct_parser and clean up remaning usage. View pull request

  • Convert argparse ‘0’/’1’ options to be typed as ints rather than strings. View pull request

4.3 (2020-06-11)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

  • Added useful formatting to compare SCT versions; introduced sct_version. View pull request

  • sct_get_centerline: Fit centerline across all slices with input segmentation. View pull request

  • sct_deepseg,sct_download_data: Centralized all deep learning segmentation tasks with new function “sct_deepseg” and refactored sct_download_data. View pull request

  • sct_dmri_moco,sct_fmri_moco: Now possible to use soft mask, bug fixes and various improvements. View pull request

  • parameters_example.sh: Now defined a relative PATH_PARENT. View pull request

  • sct_maths: Enable 2D kernel for morpho math operations and various improvements. View pull request

  • sct_apply_transfo: Fixed compatibility between SCT/ANTs and FSL warping fields. View pull request

DOCUMENTATION

INSTALLATION

TESTING

4.2.2 (2020-02-28)#

View detailed changelog

BUG

ENHANCEMENT

  • sct_deepseg_gm,sct_deepseg_lesion,sct_deepseg_sc: build(deps): bump tensorflow from 2.0.0 to 2.0.1. View pull request

  • Added more functions to the FSLeyes plugin. View pull request

DOCUMENTATION

4.2.1 (2020-01-14)#

View detailed changelog

BUG

ENHANCEMENT

  • sct_utils: Changed default open command for Linux. View pull request

  • sct_deepseg_sc,sct_label_vertebrae: Better error handling if installation files are missing and clarified help. View pull request

INSTALLATION

  • Added gcc as installation pre-requisite with useful instructions. View pull request

4.2.0 (2019-12-19)#

View detailed changelog

ENHANCEMENT

  • sct_register_multimodal,sct_register_to_template: New method for detecting rotation in centermassrot. View pull request

FEATURE

  • sct_register_to_template: Spinal-level-based registration to the PAM50. WARNING: Breaks compatibility with previous versions of SCT. View pull request

DOCUMENTATION

INSTALLATION

  • Now using requirements-freeze.txt for installing stable releases. View pull request

  • install/sct_changelog: Fixed bug when fetching previous release tag. View pull request

  • Removed Darwin=15 case in requirements.txt and added OS checks during installation. View pull request

4.1.1 (2019-11-28)#

View detailed changelog

BUG

FEATURE

  • sct_apply_transfo: Added an option for keypoints transformation. View pull request

  • sct_label_utils: Now possible to add existing label from an external file in the create-viewer option. View pull request

DOCUMENTATION

INSTALLATION

  • sct_viewer: PyQt5 version downgrade to fix GUI on Debian 8.11 distros. View pull request

  • sct_check_dependencies: Increased sensitivity of dependency testing. View pull request

4.1.0 (2019-10-26)#

View detailed changelog

BUG

  • sct_compute_mtr: Fixed aberrant mtr values. View pull request

  • sct_process_segmentation: Fixed wrong orientation with new version of scikit-image. View pull request

  • sct_maths: Fixed deprecation with adaptative thresholding. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_deepseg_sc: Fixed segmentation issue that mostly appeared on DWI data. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_qc,sct_resample: QC report: Fixed shift along slice direction between image and overlay. View pull request

  • sct_straighten_spinalcord: Fixed shape mismatch during straightening. View pull request

  • sct_denoising_onlm: Fix index error and display fsleyes command. View pull request

ENHANCEMENT

  • sct_resample: Raise error if trying to resampling to size zero. View pull request

  • sct_deepseg_sc: Fix deepseg threshold (again). View pull request

  • sct_deepseg_sc: Fine-adjustment of threshold for binarization of soft segmentation. View pull request

  • sct_qc: Fixed up/down dysfunction in the qc report . View pull request

  • sct_crop_image: Improved CLI, fixed bug with the GUI and refactored into module. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_deepseg_sc: Remove isolated voxels at the edge of the output segmentation. View pull request

  • sct_download_data: Check if folder already exists by checking its actual name, not the name of the entry to -d flag. View pull request

FEATURE

DOCUMENTATION

  • Better management of CLI syntax in case mandatory arguments are missing. View pull request

INSTALLATION

  • sct_download_data: Fixed issue that appeared when trying to remove temporary folder from different file systems. View pull request

4.0.2 (2019-09-04)#

View detailed changelog

BUG

4.0.1 (2019-08-17)#

View detailed changelog

BUG

  • sct_dmri_compute_dti: Fixed flag ‘-evecs’ not detecting input as of type int. View pull request

  • sct_image: Fixed -setorient-data giving wrong results. View pull request

  • sct_image: Proper handling of int arguments contained in list type input. View pull request

  • sct_process_segmentation: Fixed wrong morphometric measures with anisotropic in-plane resolution. View pull request

  • Change canvas axes for image placement.. View pull request

ENHANCEMENT

INSTALLATION

4.0.0 (2019-08-04)#

View detailed changelog

BUG

  • sct_crop_image: Fixed bug when using GUI (flag -g). View pull request

  • sct_label_vertebrae: Fixed misplaced label in non-RPI data for initializing vertebral labeling. View pull request

  • sct_qc: Fixed corruption of QC json file when running parallel jobs. View pull request

  • sct_label_vertebrae: Fixed bug that appeared when inputing uncompressed nifti file. View pull request

  • sct_label_vertebrae: Fixed bug in the post processing of detect_c2c3. View pull request

  • sct_propseg: Fixed ignored -init flag and minor improvements. View pull request

  • sct_deepseg_lesion,sct_deepseg_sc: Fixed bug and clarified usage of -centerline viewer. View pull request

  • sct_dmri_moco,sct_fmri_moco: Work around “too many open files” by slurping the data. View pull request

  • sct_straighten_spinalcord: Fixed crash caused by wrong estimation of centerline length in case of incomplete segmentation. View pull request

  • sct_extract_metric: Fixed bug in method max. View pull request

  • sct_flatten_sagittal: Fix bugs related to image scaling. View pull request

  • sct_label_vertebrae: Fixed path issue when using -initlabel flag. View pull request

  • sct_get_centerline: Convert data to float before intensity rescaling (in optic). View pull request

  • sct_deepseg_lesion,sct_deepseg_sc: Fixed ValueError and IndexError. View pull request

  • sct_register_to_template: Fixed regression bugs. View pull request

ENHANCEMENT

  • batch_processing.sh: Replaced propseg by deepseg_sc. View pull request

  • batch_processing.sh: QC report is now generated locally. View pull request

  • msct_parser: Conversion from msct_parser to argparse. View pull request

  • sct_qc: Allow the possibility to discard column of choice on the output html QC report. View pull request

  • sct_process_segmentation,sct_straighten_spinalcord: Improve quality of straightening. View pull request

  • sct_deepseg_lesion,sct_deepseg_sc: Output segmentation in uint8 when input is float. View pull request

  • sct_qc: Added automatic data sorting in the QC report. View pull request

  • sct_fmri_moco: Enabling the extraction of fMRI motion correction parameters. View pull request

  • sct_qc,sct_resample: Fixed resampling method with reference image and improved speed for generating QC report. View pull request

  • sct_compute_mtr: Added output file and/or folder flag. View pull request

  • sct_compute_snr: Make consistent STD calculation between sct_fmri_compute_tsnr and sct_compute_snr. View pull request

  • Clarify handling of logger, error and exceptions. View pull request

  • msct_register,sct_register_multimodal,sct_register_to_template: Refactoring to allow use of im AND seg in the registration process. View pull request

  • sct_get_centerline,sct_straighten_spinalcord: Increased smoothness of default bspline centerline fitting algorithm . View pull request

  • sct_get_centerline: Remove Optic temp files by default. View pull request

  • sct_qc: Lock qc report during generation. View pull request

  • sct_process_segmentation: Major modifications to simplify usage and fix various issues with shape analysis. View pull request

  • sct_process_segmentation: Minor fix in usage and csv output. View pull request

  • sct_warp_template: Faster execution and other minor improvements. View pull request

  • sct_qc: Various improvements on the QC report and resampling module. View pull request

  • sct_process_segmentation: Major refactoring of centerline routine. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_label_vertebrae: Removed support for -initc2 flag because there is an alternative approach with sct_label_utils. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_extract_metric: Expose aggregate_slicewise() API and various improvements. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_register_to_template: Updated PAM50 template header to be in the same coordinate system as the MNI template. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_qc: Various improvements. View pull request

  • sct_deepseg_lesion,sct_deepseg_sc: deepseg_sc: Speed processing up . View pull request

  • sct_qc: QC now scales images based on physical dimensions (previously based on voxels). View pull request

  • sct_process_segmentation: Major refactoring to bring few improvements. WARNING: Breaks compatibility with previous versions of SCT. View pull request

FEATURE

  • sct_qc: Add CSA results on QC report . View pull request

  • sct_extract_metric: Added flag to combine all labels. View pull request

  • sct_dmri_compute_dti: Output DTI Eigenvalues. View pull request

  • sct_qc: New API to generate QC reports. View pull request

  • sct_label_vertebrae: Added possibility to rescale intervertebral disc distance and various improvements. View pull request

  • sct_register_to_template: Now possible to specify the type of algorithm used for cord straightening. View pull request

  • sct_label_vertebrae: spinalcordtoolbox/vertebrae/detect_c2c3 – New module. View pull request

  • sct_compute_snr: Now possible to output SNR map, removed requirement for inputing mask, and few other improvements. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_dmri_separate_b0_and_dwi: sct_dmri_separate_b0_and_dwi: Now append suffix to input file name to prevent conflicts. WARNING: Breaks compatibility with previous versions of SCT. View pull request

  • sct_smooth_spinalcord: Enable to set smoothing parameters in all axes. WARNING: Breaks compatibility with previous versions of SCT. View pull request

DOCUMENTATION

  • sct_label_vertebrae: Updated documentation on how to create vertebral and disc labels. View pull request

  • sct_changelog: Few improvements on automatic Changelog generation. View pull request

INSTALLATION

TESTING

v3.2.7 (2018-10-29)#

View detailed changelog

BUG

ENHANCEMENT

v3.2.6 (2018-10-16)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

v3.2.4 (2018-08-24)#

View detailed changelog

BUG

ENHANCEMENT

v3.2.3 (2018-07-21)#

This release notably brings a useful feature, which now makes it possible to use single-label with -l flag for registration to the template. This feature was required by the recently-introduced analysis pipeline for multi-parametric data when FOV is systematically centered at a particular disc or mid-vertebral level. View detailed changelog

BUG

  • sct_register_multimodal: Fixed bug when using partial mask with algo=slicereg View pull request

ENHANCEMENT

  • sct_propseg: Labels and centerline are now output with correct header if -rescale is used View pull request

  • Adding a batch size of 4 for all deep learning methods. View pull request

FEATURE

v3.2.2 (2018-07-08)#

Major changes to this release include a fix to SCT installation on OSX laptops with non-English encoding language. Another important fix is the inclusion of the link in sct_download_data for downloading the Paris’18 SCT course material. A nice enhancement is the possibility to calculate metrics slice-wise or level-wise in sct_extract_metric. View detailed changelog View detailed changelog

BUG

ENHANCEMENT

  • sct_deepseg_gm: Lazy loading module: now faster when calling usage View pull request

  • sct_propseg: Now possible to rescale data header to be able to segment non-human spinal cord (mice, rats, etc.) View pull request

  • sct_deepseg_gm: Adding TTA (test-time augmentation) support for better segmentation results View pull request

  • sct_deepseg_gm: Removed restriction on the network input size (small inputs): Fixes bug that appeared when inputting images with small FOV View pull request

  • sct_deepseg_sc: Reducing TensorFlow cpp logging verbosity level View pull request

  • sct_extract_metric: Now possible to calculate metrics slice-wise or level-wise View pull request

DOCUMENTATION

  • Added documentation for installing SCT on Windows using Docker View pull request

  • Added information on the README about how to update SCT from git install View pull request

  • Updated documentation and added link to the data for the SCT course in Paris View pull request

INSTALLATION

TESTING

  • Removed sct_register_graymatter (obsolete old code) from sct_testing functions View pull request

  • Implemented multiprocessing and argparse in sct_testing, and other improvements related to Sentry View pull request

3.2.1 (2018-06-12)#

This release fixes a few bugs, notably one related to template registration when using disc-based alignment. It also features an improved version of sct_deepseg_sc with the introduction of 3D kernel models, as well as a more accurate segmentation on T1-weighted scans. The main documentation now includes a link to a new collection of repositories: sct-pipeline, which gathers examples of personalized analysis pipelines for processing spinal cord MRI data with SCT. View detailed changelog

BUG

ENHANCEMENT

DOCUMENTATION

INSTALLATION

TESTING

3.2.0 (2018-05-29)#

This release includes: a new example dataset (now includes T2*-w and fMRI data) with an updated batch_processing.sh, a new function to compute MT-saturation effect (sct_compute_mtsat), an improved straightening that can account for inter-vertebral disc positions to be used alongside sct_register_to_template for more accurate registration, and few improvements on sct_pipeline and quality control (QC) report generation. View detailed changelog

BUG

ENHANCEMENT

FEATURE

3.1.1 (2018-02-16)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

TESTING

v3.1.0 (2017-10-27)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

TESTING

v3.0.8 (2017-09-13)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

v3.0.7 (2017-08-02)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

TESTING

DOCUMENTATION

v3.0.6 (2017-07-04)#

View detailed changelog

BUG

ENHANCEMENT

DOCUMENTATION

INSTALLATION

v3.0.5 (2017-06-09)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

v3.0.4 (2017-05-19)#

View detailed changelog

BUG

ENHANCEMENT

FEATURE

TESTING

v3.0.3 (2017-04-26)#

View detailed changelog

BUG

INSTALLATION

  • Added course_hawaii17 into the list of available dataset from sct_download_data View pull request

  • Incorrect variable when installing SCT in a different directory View pull request

DOCUMENTATION

v3.0.2 (2017-04-20)#

View detailed changelog

BUG

  • Force the SCT environment to use only the python modules installed by SCT View pull request

  • Fixing disabling options on straightening View pull request

  • Fixed tSNR computation of the mean and std of the input image View pull request

  • Increased the data type size from the default int16 to int32 to avoid overflow issues in sct_process_segmentation View pull request

  • Fixed data type issue in sct_process_segmentation View pull request

ENHANCEMENT

FEATURE

TESTING

v3.0.1 (2017-03-22)#

View detailed changelog

FEATURE#

v3.0.0 (2017-03-15)#

View detailed changelog

BUG#

ENHANCEMENT#

TESTING#

3.0_beta32 (2017-02-10)#

View detailed changelog

BUG#

  • BUG: install_sct: fixed PATH issue (#1153): closed at 2017-02-08 View pull request

  • BUG: compute_snr: fixed variable name: closed at 2017-02-03 View pull request

  • Changed the algorithm to fetch the download filename: closed at 2017-02-03 View pull request

  • Copy header of input file to ensure qform is unchanged: closed at 2017-01-31 View pull request

  • zero voxels no more included when computing MI + new flag to compute normalized MI: closed at 2017-02-01 View pull request

  • Downloading the binaries using the python module instead of CURL: closed at 2017-01-30 View pull request

  • [sct_segment_graymatter] correct background value: closed at 2017-01-31 View pull request

  • Fixing indexes issue on Travis OSX: closed at 2017-01-17 View pull request

  • REF: display spinal cord length when required (full spinal cord): closed at 2017-01-17 View pull request

  • Adding rules for in-segmentation errors: closed at 2017-01-17 View pull request

ENHANCEMENT#

TESTING#

  • Add message to user when spinal cord is not detected and verbose improvement for testing: closed at 2017-02-01 View pull request

  • Display results of isct_test_function: closed at 2017-01-20 View pull request

3.0_beta31 (2017-01-16)#

  • BUG: sct_process_segmentation display spinal cord length when required (full spinal cord) (#1112)

  • BUG: sct_propseg Adding rules for in-segmentation errors (#1110)

  • BUG: PAM50: probabilist templates of WM and GM not sum to 1 (#411)

  • BUG: sct_propseg: fixed edge issue (#1074)

  • BUG: sct_label_vertebrae: fixed temporary folder not created (#1083)

  • BUG: isct_test_function: fixed temp folder of subject being created inside test folder of another subject (#1084)

  • BUG: sct_apply_transfo: fixed TR field on NIFTI is lost (#1013)

  • BUG: sct_register_graymatter: fixed empty inverse warping field (#1068)

  • OPT: sct_label_vertebrae: now outputing verbose=2 pics in ofolder (#1094)

  • OPT: sct_straighten_spinalcord: fixed Reduce required RAM (#979)

  • OPT: sct_straighten_spinalcord: removes accuracy computation by default (#1075)

  • OPT: sct_propseg: improve robustness towards exception (#207)

  • OPT: isct_test_function: send email when finished (#1081)

  • OPT: isct_test_function: removed color tags on log entries (#1035)

3.0_beta29 (2016-12-13)#

  • NEW: PAM50 template now used as the default template

  • NEW: sct_compute_snr: compute SNR using several methods (Dietrich et al. 2007)

  • NEW: sct_propseg: now accepts a correction solution for sct_propseg in case of missing CSF/SC contrast and/or artefacts (see issue #664 for details)

  • NEW: sct_propseg: added flag to open a viewer for initializing spinal cord segmentation by manually providing a few points (issue #741)

  • NEW: install_sct: new installer, which downloads the necessary data (i.e., lighter package).

  • NEW: SCT now includes its own python (from miniconda), which simplifies the installation and allows users to have another Python installed without generating conflicts.

  • NEW: sct_dmri_create_noisemask: Identification and estimation of noise in the diffusion signal, implemented by the Dipy software project (http://nipy.org/dipy/), based on the PIESNO method

  • NEW: sct_register_graymatter: Multi-label registration that accounts for gray matter shape.

  • NEW: sct_register_multimodal: features two new transformations: centermassrot and columnwise.

  • NEW: sct_register_multimodal: flag smoothWarpXY: regularization of warping field (only for algo=columnwize)

  • NEW: sct_register_multimodal: flag pca_eigenratio_th: Min ratio between the two eigenvalues for PCA-based angular adjustment (only for algo=centermassrot).

  • NEW: sct_create_mask: now compatible with 2D data (#1066)

  • NEW: sct_maths: computes mutual information and cross-correlation between images (#1054)

  • BUG: sct_straighten_spinalcord: Fixed #917, #924, #1063

  • BUG: Fixed issues #715, #719

  • BUG: sct_propseg: fixed issues #147, #242, #309, #376, #501, #544, #674, #680

  • BUG: sct_segment_graymatter: fixed issues #782, #813, #815

  • BUG: sct_register_graymatter: fixed issue #1068

  • BUG: Fixed incompatibility with CENTOS 6.X (issue #776)

  • BUG: Binaries now hosted on Gihub for accessibility from China (#927)

  • BUG: sct_resample: Fixed slight image shift caused by resampling (#612)

  • OPT: sct_check_dependencies: Made test more sentitive to OS incompatibilities (issue #771)

  • OPT: sct_register_multimodal: major changes. Simplified flags. Fixed issues #350, #404, #414, #499, #650, #735, #737, #749, #807, #818, #1033, #1034

  • OPT: sct_register_to_template: now uses slicewise rigid transfo at first step (instead of slicereg), which improves accuracy (issue #666)

  • OPT: sct_register_to_template: added contrast for registration: t2s

  • OPT: sct_label_vertebrae: now fully automatic (although unstable– work in progress).

  • OPT: sct_testing: added integrity testing for CSA computation (#1031)

  • REF: sct_testing: sct_testing_data is now hosted on GitHub-release for better tracking and across-version compatibility.

3.0_beta28 (2016-11-25)#

  • BUG: sct_process_segmentation: Fixed issue related to calculation of CSA (#1022)

  • BUG: sct_label_vertebrae: Fixed Vertebral labeling removes first vertebrae in the labelled segmentation (#700)

  • OPT: sct_register_multimodal: Now possible to input initial warping field (#1049)

  • OPT: sct_register_multimodal: Added feature to be able to input two pairs of label image for estimating affine/rigid/nonrigid transformation (#661)

  • OPT: sct_extract_metric: Added weighted-Maximum a posteriori extraction method (#1018)

  • OPT: Remove color tags on log entries (#1035)

3.0_beta27 (2016-10-23)#

  • NEW: sct_extract_metric: method “max” to extract CSA value form interpolated volume (e.g. PAM50 space) without partial volume bias

3.0_beta26 (2016-10-05)#

  • INST: Fixed #992, #1004, #1008, #1012

3.0_beta25 (2016-09-30)#

  • OPT: Fixed #875

  • INST: Fixed #1007, #1009

3.0_beta24 (2016-09-28)#

  • BUG: Fixed #870, #898, #859, #871, #1005, #750, #444, #878, #1000

  • INST: Fixed issue with matplotlib version 1.5.3

3.0_beta23 (2016-09-18)#

  • BUG: Fixed #984, #983, #954, #978, #987, #938, #964, #638, #969, #922, #855

  • OPT: sct_register_to_template: added a flag “-ref” to be able to register to anisotropic data

3.0_beta22 (2016-09-09)#

  • BUG: Fixed #994, #989, #988, #976, #968

2.2.3 (2016-02-04)#

  • BUG: sct_straighten_spinalcord: fixed instabilities related to generation of labels (issue #722)

2.2.2 (2016-01-31)#

  • OPT: sct_dmri_moco: added flag “-bvalmin” to specify b=0 threshold and improved reading of bval file.

2.2.1 (2016-01-29)#

  • BUG: sct_dmri_moco: fixed bug related to the use of mask

  • BUG: sct_dmri_moco: fixed bug in the algorithm (iterative average of target DWI volume)

2.2 (2016-01-23)#

  • BUG: Fixed major issue during installation (issue #708)

  • BUG: sct_process_segmentation: fixed bug occuring with small FOV (issue #706)

2.1.1 (2016-01-15)#

  • BUG: sct_resample: fixed issue #691

  • OPT: sct_segment_graymatter: improved robustness of normalization

  • OPT: sct_process_segmentation: default parameter does not smooth CSA results anymore

2.1 (2015-12-01)#

  • NEW: sct_testing: test SCT functions and their integrity

  • NEW: sct_maths: performs basic operations on images. Similar to fslmaths.

  • NEW: sct_get_centerline -method auto: uses advanced image processing methods for finding the spinal cord centerline automatically on any type of contrast. This script should be followed by sct_propseg for finer cord segmentation.

  • NEW: sct_label_vertebrae: can automatically label vertebral levels given an anatomical scan, a centerline and few prior info.

  • NEW: sct_segment_graymatter: segment spinal cord gray matter using multi-atlas approach from Asman et al.

  • NEW: sct_process_segmentation: feature to estimate CSA based on labels

  • NEW: sct_label_utils: new functionality for creating labels based on vertebral labeling

  • NEW: added “-qc” flag to some functions to output png images for quality control.

  • BUG: install_patch: now possible to install as non-admin (issues #380, #434)

  • BUG: sct_extract_metric: fix the case when averaging labels from different clusters with method map

  • INST: no more dependence with FSL

  • INST: no more dependence with c3d

  • OPT: sct_straighten_spinalcord: improved accuracy (issues #371, #425, #452, #472)

  • OPT: sct_registration_to_template: improved accuracy

  • REF: harmonization of flags. Most flags from v2.0 still work but a message of deprecation is sent.

2.1_beta21 (2015-11-30)#

  • sct_process_segmentation: fixed issue with computation of volume based on vertebral level (slice selection now using centerline)

2.1_beta20 (2015-11-30)#

  • fixed compatibility with new PAM50 template

2.1_beta19 (2015-11-25)#

  • harmonized flags

  • sct_process_segmentation: now computes volume

2.0.6 (2015-06-30)#

  • BUG: sct_process_segmentation: fixed bug of output file location (issue #395)

2.0.5 (2015-06-10)#

  • BUG: sct_process_segmentation: fixed error when calculating CSA (issue #388)

2.0.4 (2015-06-06)#

  • BUG: sct_process_segmentation: fixed error when calculating CSA (issue #388)

  • BUG: Hanning smoothing: fixed error that occurred when window size was larger than data (issue #390)

  • OPT: sct_check_dependencies: now checks if git is installed

  • OPT: simplified batch_processing.sh

2.0.3 (2015-05-19)#

  • BUG: sct_register_to_template: fixed issue related to appearance of two overlapped templates in some cases (issue #367)

  • BUG: sct_register_to_template: now all input data are resampled to 1mm iso to avoid label mismatch (issue #368)

  • BUG: sct_resample: fixed bug when user specified output file

  • OPT: sct_create_mask: improved speed

2.0.2 (2015-05-16)#

  • BUG: sct_fmri_compute_tsnr: fixed issue when input path includes folder

  • BUG: sct_orientation: now possibility to change orientation even if no qform in header (issue #360)

  • BUG: msct_smooth: fixed error with small Hanning window (issue #363)

  • BUG: sct_straighten_spinalcord: fixed issue with relative path (issue #365)

  • NEW: sct_label_utils: added new function to transform group of labels into discrete label points

  • NEW: sct_orientation: added a tool to fix wrong orientation of an image (issue #366)

  • OPT: sct_register_to_template: twice as fast! (issue #343)

2.0.1 (2015-04-28)#

  • BUG: sct_extract_metric: MAP method did not scale properly with the data. Now fixed (issue #348)

  • BUG: fixed issue with parser when typing a command to see usage (it crashed)

2.0 (2015-04-17)#

  • NEW: sct_fmri_compute_tsnr: new function to compute TSNR from fMRI data (performs moco before)

  • OPT: sct_straighten_spinalcord: now MUCH faster and more accurate (issue #240)

  • OPT: sct_register_to_template: allows more flexibility by allowing multiple steps for registration (flag -p).

    • N.B. flag “-m” has been replaced by “-s”

  • OPT: sct_register_multimodal: allows more flexibility by imposing only one stage. Several stages can be run sequentially and then transformations can be concatenated.

    • N.B. flags “-s” and “-t” were replaced with “-iseg” and “-dseg” respectively

  • OPT: sct_extract_metric:

    • new methods for extraction: maximum likelihood and maximum a posteriori, which take into account partial volume effect

    • now possible to specify global regions for extraction with flag -l: wm, gm, sc

    • now possible to include a bunch of labels using “:”. Example: 2:29

  • NEW: sct_get_centerline_from_labels: obtain a centerline using a combination of labels and/or segmentations

    • N.B. sct_get_centerline was renamed for sct_get_centerline_automatic

  • NEW: sct_compute_ernst_angle: new script to compute and display Ernst angle depending on T1 and TR

  • OPT: sct_process_segmentation:

    • can compute average CSA across vertebral levels or slices

    • can compute length of segmentation

    • can compute CSA on non-binary images such as probabilistic gray/white matter maps

    • N.B. process names were simplified to: “csa”, “length” and “centerline”

  • OPT: sct_crop_image: now possible to crop an image based on a reference space

  • OPT: new WM atlas: added gray matter and CSF for computing partial volume

  • OPT: now use all available cores for ANTs and adjust variable when running dmri_moco (issue #238)

  • INST: new installer in python, simpler to use and check for latest patches

  • REF: msct_parser: new parser that generate documentation/usage

  • REF: msct_image, sct_label_utils: smoothly converting the toolbox to objet-oriented, some scripts can be used as python module

1.1.2_beta (2014-12-25)#

  • BUG: sct_dmri_moco: fixed crash when using mask (issue # 245)

  • OPT: sct_create_mask: (1) updated usage (size in vox instead of mm), (2) fixed minor issues related to mask size.

  • INST: links are now created during installation of release or patch (issue ).

1.1.1 (2014-11-13)#

  • FIX: updated ANTs binaries for compatibility with GLIBC_2.13 (issue: https://sourceforge.net/p/spinalcordtoolbox/discussion/help/thread/e00b2aeb/)

1.1 (2014-11-04)#

  • NEW: sct_crop: function to quickly crop an image.

  • NEW: sct_extract_metric (replaces the old sct_estimate_MAP_tracts.py). New functionalities added (maximum likelihood estimation and tract grouping). More flexible with label files.

  • NEW: sct_convert_mnc2nii

  • NEW: sct_create_mask: create mask of different shapes (cylinder, box, gaussian). Useful for moco.

  • NEW: sct_fmri_moco: motion correction function for fMRI data. Uses regularization along z.

  • NEW: sct_compute_mtr: compute MTR

  • NEW: sct_otsu: OTSU segmentation (usefull for DWI data)

  • NEW: sct_resample: quick upsample/downsample 3D or 4D data

  • NEW: sct_segment_greymatter: function to segment the grey matter by warping that one from the atlas

  • OPT: sct_orientation can now be applied to 4d data

  • OPT: sct_register_multimodal now using the new antsSliceReg method that regularizes along z.

  • OPT: new version of the white matter atlas: more accurate, deformation accounting for internal structure (use BSplineSyN instead of SyN).

  • OPT: sct_dmri_moco now using the new antsSliceReg method that regularizes along z.

  • OPT: removed all .py extensions for callable functions (created links)

  • OPT: sct_label_utils: now possible to create labels. Also added other useful features.

  • INST: now possible to specify installation path for the toolbox

  • INST: conda dependences are now automatically installed by the installer.

  • INST: added pillow (fixed issue #117)

  • INST: “getting started” now provided via example commands in batch_processing.sh

  • REF: sct_straighten_spinalcord (fixed issues #56, #116)

  • TEST: major changes on the testing framework for better modularity with Travis. Now using separate small dataset.

1.0.3 (2014-07-30)#

  • BUG: fixed bug in sct_process_segmentation.py related to import of scipy.misc imsave,imread in miniconda distrib (issue #62)

  • BUG: fixed bug in sct_process_segmentation.py related to import of PIL/Pillow module (issue #58)

  • OPT: sct_register_multimodal now working for images with non-axial orientation (issue #59)

  • OPT: sct_register_straight_spinalcord_to_template has now been replaced by sct_register_multimodal in sct_register_to_template.

  • OPT: major improvements for sct_dmri_moco, including spline regularization, eddy correction, group-wise registration, gaussian mask.

  • OPT: sct_check_dependencies.py can now output log file and do extensive tests (type -h for more info)

  • NEW: sct_apply_transfo.py: apply warping field (wrapper to ANTs WarpImageMultiTransform)

  • NEW: sct_concat_transfo.py: concatenate warping fields (wrapper to ANTs ComposeMultiTransform)

  • NEW: batch_processing.sh: example batch for processing multi-parametric data

1.0.2 (2014-07-13)#

  • NEW: virtual machine

  • BUG: fixed sct_check_dependencies for Linux

  • BUG: fix VM failure of sct_register_to_template (issue #41)

  • OPT: sct_register_to_template.py now registers the straight spinal cord to the template using sct_register_multimodal.py, which uses the spinal cord segmentation for more accurate results.

1.0.1 (2014-07-03)#

  • INST: toolbox now requires matplotlib

1.0 (2014-06-15)#

  • first public release!

0.7 (2014-06-14)#

  • NEW: dMRI moco

  • INST: libraries are now statically compiled

  • OPT: propseg: now results are reproducible (i.e. removed pseudo-randomization)

0.6 (2014-06-13)#

  • Debian + OSX binaries

  • BUG: fixed registration2template issue when labels were larger than 9

  • BUG: fixed bug on PropSeg when the image contains a lot of null slices

  • INST: now installer write on bashrc and links bash_profile to bashrc

  • BUG: removed random parts in PropSeg

0.5 (2014-06-03)#

  • now possible to get both template2EPI and EPI2template warping fields

  • fixed major bug in registration (labels were cropped)

  • NEW: probabilistic location of spinal levels

  • NEW: binaries for Debian/Ubuntu

0.4 (2014-05-28)#

  • NEW: installer for ANTs (currently only for OSX)

  • fixed bugs

0.3 (2014-05-26)#

  • major changes in sct_register_multimodal

  • fixed bugs

0.2 (2014-05-18)#

  • NEW: nonlocal means denoising filter

  • NEW: sct_smooth_spinalcord –> smoothing along centerline

  • fixed bugs

0.1 (2014-05-03)#

  • first beta version!