Contributing to AutoAFIDs๏
AutoAFIDs is a Python-based BIDS App for automatic anatomical fiducial detection. Development is managed using pixi for dependency and environment management.
๐ ๏ธ These instructions are intended for contributors making code changes to the AutoAFIDs codebase or using advanced features such as Snakemake cluster execution profiles.
๐ฆ Prerequisites๏
Ensure pixi is installed on your system. You can install pixi by following the official guide:
๐ https://pixi.prefix.dev/latest/installation/
Note: AutoAFIDs primarily supports T1-weighted images. For additional modalities (e.g., T2w), SynthSR will be triggered, though compatibility varies by operating system.
๐งช Setting Up the Development Environment๏
Clone the repository:
git clone https://github.com/afids/autoafids.git
cd autoafids
Create and activate the development environment:
pixi shell
Run AutoAFIDs with development dependencies:
./autoafids/run.py -h
๐งน Code Quality and Formatting๏
AutoAFIDs uses several tools to ensure clean and consistent code:
isortโ for sorting imports.snakefmtโ for formatting Snakemake filesblackโ for formatting Python code
Check formatting:๏
Activate the development environment:
pixi shell --environment dev
Run tools
isort autoafids/*.py -c
snakefmt autoafids --check
black autoafids --check
Auto-fix formatting:๏
isort autoafids/*.py
snakefmt autoafids
black autoafids
๐งช Dry Run / Workflow Testing๏
To test the Snakemake workflow without running any jobs, use the built-in dry-run feature:
./autoafids/run.py tests/data tests/output participant -n
The tests/data directory contains a lightweight fake BIDS dataset (with zero-byte files) useful for testing the pipeline logic.
You can simulate more complex scenarios by modifying the tests/ configuration and rerunning dry-runs with --modality and other options.
๐ Questions, Issues, and Feedback๏
We welcome all forms of feedback and contributions.
๐ฌ For questions or suggestions, use the Discussions page.
๐ For bugs or feature requests, open an issue on the Issues page.
๐ง You may also contact dbansal7@uwo.ca or reach out to Alaa Taha, the Science Lead.
Thanks for helping improve AutoAFIDs!