Metadata-Version: 2.4
Name: scalesurfer
Version: 0.1.0
Summary: Fast 3D brain segmentation and FreeSurfer-like statistics inference.
Project-URL: Homepage, https://github.com/voytekresearch/scalesurfer
Project-URL: Repository, https://github.com/voytekresearch/scalesurfer
Project-URL: Issues, https://github.com/voytekresearch/scalesurfer/issues
Author: Ryan Hammonds
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Requires-Python: >=3.12
Requires-Dist: huggingface-hub
Requires-Dist: joblib
Requires-Dist: matplotlib
Requires-Dist: nibabel
Requires-Dist: nilearn
Requires-Dist: numba
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: safetensors
Requires-Dist: scikit-image
Requires-Dist: scipy
Requires-Dist: seaborn>=0.13.2
Requires-Dist: torch
Requires-Dist: tqdm
Provides-Extra: openneuro
Requires-Dist: boto3; extra == 'openneuro'
Requires-Dist: botocore; extra == 'openneuro'
Requires-Dist: joblib; extra == 'openneuro'
Requires-Dist: matplotlib; extra == 'openneuro'
Requires-Dist: nibabel; extra == 'openneuro'
Requires-Dist: nilearn; extra == 'openneuro'
Requires-Dist: numba; extra == 'openneuro'
Requires-Dist: numpy; extra == 'openneuro'
Requires-Dist: pandas; extra == 'openneuro'
Requires-Dist: scikit-image; extra == 'openneuro'
Requires-Dist: scipy; extra == 'openneuro'
Requires-Dist: torch; extra == 'openneuro'
Requires-Dist: tqdm; extra == 'openneuro'
Provides-Extra: test
Requires-Dist: pytest; extra == 'test'
Description-Content-Type: text/markdown

# scalesufer

`scalesurfer` is a repository for fast FreeSurfer inference. The volumetric model uses UNet (local scale), with a Transformer bottlenck (global scale). The stats models predict FreeSurfer stats.

## Usage

```python
from scalesurfer import ScaleSurfer

# Anatomical images
adni_dir = "/home/rph/scalesurfer/data/adni_bids"
subjects = ["sub-002S0559", "sub-002S0619"]

anat_files = [
    f"{adni_dir}/sub-002S0559/ses-20060627/anat/sub-002S0559_ses-20060627_T1w.nii.gz",
    f"{adni_dir}/sub-002S0619/ses-20060601/anat/sub-002S0619_ses-20060601_T1w.nii.gz"
]

# Predict aparc+aseg and stats tables
surfer = ScaleSurfer(anat_files, subjects, "/tmp/scalesurfer_subjects", device="cuda")
surfer.prepare_images()
surfer.predict_volumes()
surfer.plot_volume(subjects[0])
df_stats = surfer.predict_stats()
```

See the inference [notebook](https://github.com/voytekresearch/scalesurfer/blob/master/docs/notebooks/03_inference/08_inference.ipynb) for additional settings for faster processing.
