Release Notes
0.1.5_7.3.2 [2025-12-03]
Enhancements:
- Added
.dockerignorefile to optimize Docker build context and reduce build times
Fixes:
- Fixed incorrect import in
tests/test_pet_utils.pyfromfw_gear_freesurfer_mctofw_gear_petsurfer_mc
Maintenance:
- Migrated from custom Freesurfer installation to
flywheel/freesurfer:0.2.0_7.4.1base image - Migrated base image from
python:3.10-slimtoflywheel/python:3.12-debian - Updated
pythonfrom3.10to3.12 - Removed
tensorflowandtorchpackages from Freesurfer installation - Removed
fsaverage_symtemplate files to reduce image size - Updated
numpyfrom1.23.2to1.26.4 - Updated
nibabelfrom4.0.1to5.3.2 - Updated
flywheel-sdkfrom16.8.0to19.3 - Updated
pandasfrom1.5.2to2.2.2 - Updated
requests-toolbeltfrom0.9.1to1.0 - Updated
pytest-covfrom2.0.10to3.0 - Updated
coveragefrom5.3to7.6 - Removed legacy linting tools:
black,isort,pylint,pycodestyle,pydocstyle,mypy - Migrated CI configuration from
sse-qa-citoqa-ciinfrastructure - Updated CI reference from
862dcf6fto733a3427 - Updated pre-commit hooks reference from
b7784be4/642262efto733a3427 - Increased pytest coverage requirement from
0%to25% - Added timeout configuration for CI test jobs (
8h) - Replaced
blackandisortwithrufffor code formatting - Added new pre-commit hooks:
gearcheck,hadolint,jsonlint,linkcheck,ruff,ruff_format,ruff_tests - Removed legacy pre-commit hooks:
docker_build,validate-manifest - Updated
api-keyinput fromread-only: truetoread-only: false - Simplified Dockerfile by removing commented-out installation commands
- Reorganized environment variables in Dockerfile for better clarity
- Applied code formatting with
ruffthroughout the codebase - Fixed f-string formatting issues in log messages
Documentation:
- Updated
CONTRIBUTING.mdwith improved formatting and Poetry command syntax - Added guidance on Python version alignment between Poetry and Dockerfile
- Expanded pre-commit hook documentation with available hooks list
- Updated release process documentation removing manual tag creation steps
- Removed changelog entry requirements from contribution guidelines
0.1.4_7.3.2 [2023-08-30]
Maintenance:
- Updated
pythonfrom3.10.12to3.10.13 - Updated
flywheel-gear-toolkitfrom0.6.10to0.6.13(which updatesflywheel-gears,flywheel-sdkandfw-utils, among others)
0.1.2_7.3.2 [2023-06-28]
Enhancements:
- Added
frame_patternconfiguration option to specify regular expression for selecting PET frames to align (case insensitive) - Added logic to skip motion correction when only a single PET volume is detected, outputting the volume directly
Fixes:
- Fixed
pet_get_images()to use case-insensitive regex pattern matching for frame selection - Fixed metadata writing to use
gear_context.metadata.update_container()instead of manual JSON file creation
Maintenance:
- Updated
pythonfrom3.10.11to3.10.12
Documentation:
- Updated README to document new
frame_patternandref_frameconfiguration options - Clarified README section on motion correction metadata stored in Analysis container
- Removed placeholder text and template markup from README
- Updated gear level from Analysis to Session
- Reorganized configuration descriptions for clarity
- Removed empty
wget-logfile
0.1.1_7.3.2 [2023-04-19]
Enhancements:
- Added
template_creationconfiguration option to select method for PET template creation (single_frameormean). This will be the target for the motion correction - Added
ref_frameconfiguration option to specify reference frame for template creation in the case ofsingle_frame - Enhanced
pet_get_images()to support pattern-based filtering for PET frame selection with modality validation - Added
merge_pet_frames()function to stack 3D PET frames into single 4D image - Added
pet_template_creation()function to create PET templates using mean or single frame methods - Added
pet_mri_convert()function to extract single frame as template usingmri_convert - Added
pet_mri_concat()function to create mean template usingmri_concat - Added
get_nifti_format()function to detect NIfTI dimensionality (3D vs 4D) - Added variance calculation to motion correction parameter metadata output
Fixes:
- Fixed motion correction workflow to support both 3D and 4D PET input formats
- Fixed motion correction parameter file naming from
*_avg.datto*_mc.dat - Fixed metadata column naming with proper labels (
roll,pitch,yaw,dS,dL,dP,rmsold,rmsnew,trans)
Maintenance:
- Updated
pythonversion constraint from>=3.10,<3.11to>=3.10,<4.0 - Updated
PYTHON_VERSIONfrom3.10.9to3.10.11 - Updated
PYTHON_PIP_VERSIONfrom22.3.1to23.0.1 - Removed unused
docs/changelog.mdanddocs/release_notes.mdfiles
0.1.0_7.3.2 [2023-02-08]
Enhancements:
- Added method to get the NIfTI files in the first acquisition in the session.
- Added motion correction of PET volumes using
mc-afni2from FreeSurfer'sfsfasttoolbox - Added computation of averaged PET volume from motion-corrected frames to serve as template for coregistration
- Added visualization plots for motion correction parameters (displacement and rotation)
Documentation:
- Added comprehensive README with gear overview, inputs, configuration options, outputs, and usage instructions
- Added contribution guidelines with dependency management, linting, testing, and release procedures
- Added merge request template with checklist for release notes, changelog, tests, and gear-specific requirements
- Added FAQ document for common questions and errors
- Added changelog to track design decisions
- Added release notes documentation
Maintenance:
- Initial project setup with
python3.10andpoetrydependency management - Added CI/CD configuration using Flywheel SSE-QA-CI pipeline with
pytestcoverage set to 0 - Added pre-commit hooks for
poetry_export,docker_build,markdownlint,yamllint,black,isort, andvalidate-manifest - Added FreeSurfer
7.3.2installation in Docker container - Added core dependencies:
flywheel-gear-toolkit,nibabel,pandas,matplotlib,seaborn,fw-meta