Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
515 commits
Select commit Hold shift + click to select a range
ecf1994
add input isotope time in hours
sarakurkowska Aug 16, 2024
a030f03
update json file with the dosimetry outpu; adjust tac calculation fro…
sarakurkowska Aug 16, 2024
7eff8f0
docummentation changes
sarakurkowska Aug 16, 2024
efbb700
add TTB to the valid masks
sarakurkowska Aug 16, 2024
7f98549
dvk name changes
sarakurkowska Aug 16, 2024
fd695ef
change dvk naming
sarakurkowska Aug 16, 2024
c9be051
add raise NotImplementedError
sarakurkowska Aug 16, 2024
4752143
Merge pull request #50 from qurit/json_file_sk
plesqui Aug 16, 2024
872188f
Merge branch 'dev' into plef-bone-marrow-image-based
plesqui Sep 11, 2024
d593928
Merge pull request #46 from qurit/plef-bone-marrow-image-based
carluri Sep 11, 2024
4aaed82
update for bed for monoexp eq
sarakurkowska Sep 12, 2024
0196b75
Update Base dosimetry to handle new fit approach
Sep 15, 2024
723399b
Add lmfit to requirement
Sep 15, 2024
c9cde9b
Update init
Sep 15, 2024
b3bdfad
Add info message voxel S
Sep 15, 2024
0a1d5bc
Fix Voxel S
Sep 15, 2024
b343cf5
Add helper tools to extract information from JSON.
Sep 16, 2024
103abfc
Fix index.
Sep 16, 2024
fb7cd22
Delete file.
Sep 16, 2024
5d9d873
calculate density in HU from CT
sarakurkowska Nov 27, 2024
e4b611e
add function that calculates density in HU from CT
sarakurkowska Nov 27, 2024
b7987dd
add mass and s values from Olguin papet
sarakurkowska Nov 28, 2024
a782f16
lesion dosimetry take s value from Olguin et al
sarakurkowska Nov 28, 2024
2984cc1
apply sphere method for indyvididual salivary glands
sarakurkowska Dec 13, 2024
ae0b5ea
update json for lesion dosimetry
sarakurkowska Dec 13, 2024
88ed312
add timepoints of blood collection
sarakurkowska Jan 7, 2025
de60a3a
add sphere s-values data
sarakurkowska Jan 9, 2025
d9fa205
import sphere s-values from file
sarakurkowska Jan 9, 2025
90cbfd5
increase redibility of functions
sarakurkowska Jan 9, 2025
51081f2
simplify density_of data
sarakurkowska Jan 9, 2025
9e96d52
change the name in the method
sarakurkowska Jan 9, 2025
15ff467
Merge pull request #54 from qurit/sara_preclinical_dosimetry
plesqui Jan 22, 2025
70135a4
Minor
Jan 24, 2025
a7658fa
Merge remote-tracking branch 'origin/dev' into plef-refactor-fitting
Jan 24, 2025
fde9371
Fix warning dataframe lesions.
Jan 25, 2025
f9d2efc
Merge pull request #53 from qurit/plef-refactor-fitting
carluri Feb 5, 2025
59cb895
Update comment BM Scaling.
Mar 17, 2025
9c6d14a
Add smart fitting
Mar 18, 2025
6203d19
Smart fit based on Akaike.
Mar 18, 2025
ffda8a9
Fix bug model selection
Mar 18, 2025
a557b99
Handle User-defined Calibration factor
Apr 27, 2025
94c5006
Add default activity
Apr 27, 2025
6678b04
update changes to more methods - old version
sarakurkowska May 13, 2025
cc5998d
Change to pytheranostics on the packages names
carluri May 15, 2025
6a05ed9
Update imports from pytheranostics
carluri May 15, 2025
5ef6b17
Change to pytheranostics
carluri May 15, 2025
f6c99b8
Update to pytheranostics
carluri May 19, 2025
c5de2de
Add a contributing file
carluri May 19, 2025
3fc270a
Add changes.md file
carluri May 19, 2025
b9e1546
Update init file
carluri May 19, 2025
13d64ad
Create configuration for tests
carluri May 19, 2025
043071a
Create a basic test file for the radioactive decay module
carluri May 19, 2025
863f6bb
Add test dependencies
carluri May 19, 2025
14eaa66
Update the documentation structure
carluri May 19, 2025
3f7f9be
Update main documentation index
carluri May 19, 2025
3278f24
Rename doodle to pytheranostics
carluri May 19, 2025
a52bd7f
Update docstrings to numpy style
carluri May 19, 2025
9959c4c
Update docstring
carluri May 19, 2025
7a2bff3
.
sarakurkowska May 21, 2025
d1a2df9
Merge pull request #63 from qurit/namechange
sarakurkowska May 21, 2025
76b4df2
Move to modern python packaging
carluri May 21, 2025
01a6ccc
Remove setup.py
carluri May 21, 2025
d8c5a52
Merge pull request #64 from qurit/toml
sarakurkowska May 21, 2025
29ae173
chore: remove duplicate import
May 14, 2025
8d56e83
include standard deviation of the data points for weighted fitting
sarakurkowska May 22, 2025
a1e8e17
allow for axes label customisation while plotting (Activity_MBq as de…
sarakurkowska May 22, 2025
591d19b
inform initial params in biexp function with the one from monoexp
sarakurkowska May 22, 2025
f56e127
adjust axes limits for better visualisation
sarakurkowska May 22, 2025
59408e8
update biexp fitting
sarakurkowska May 22, 2025
4abf97d
improve how the results are initiated and updated
sarakurkowska May 22, 2025
e74cb2f
make it more clear that we do not skip points since they take part of…
sarakurkowska May 22, 2025
8a97497
fix: pytest tests now pass.
jasonspence May 23, 2025
c8ade74
optimize tumor sink effect correction
sarakurkowska May 27, 2025
92f24ab
clean code
sarakurkowska May 28, 2025
fe22003
simplify relative scaling mass by tabulating the values
sarakurkowska May 28, 2025
1c13996
correct biological scaling
sarakurkowska May 28, 2025
38ef407
clean code
sarakurkowska May 29, 2025
4e09ace
clean code
sarakurkowska May 29, 2025
350087d
clean
sarakurkowska May 29, 2025
23c86bf
add calculate_absorbed_dose and create_mousecase methods
sarakurkowska May 30, 2025
8a016ea
convert to weights = 1/sigma
sarakurkowska May 30, 2025
d2fa91c
delete commented line
sarakurkowska May 30, 2025
a04707e
ignore s-values from olinda
sarakurkowska May 30, 2025
e3a12df
include possibility of not having weighted fits
sarakurkowska May 30, 2025
7bd2a04
ICRP_mass_male
sarakurkowska May 31, 2025
a134385
Refactor masks resampling
Jun 3, 2025
6e38587
Modify LongStudy to accomodate sitk masks.
Jun 3, 2025
7d93c75
Merge branch 'dev' into plef-qspect
Jun 3, 2025
9e6d92b
Merge pull request #65 from qurit/first-pr-jason
plesqui Jun 3, 2025
f2105ad
Merge branch 'dev' into plef-qspect
Jun 3, 2025
7fed658
Update authors
carluri Jun 4, 2025
b970541
Merge branch 'dev' into preclinical_dosimetry
sarakurkowska Jun 9, 2025
5410097
import methods from pytheranostics instead of doodle
sarakurkowska Jun 9, 2025
417314b
register CT to SPECT function
Jul 7, 2025
681b57a
Clean redundant names
Jul 7, 2025
6890ff2
Force orthogonality of loaded images, and other misc
Jul 7, 2025
49c955a
Merge pull request #66 from qurit/make_tests_run
plesqui Jul 8, 2025
2c5b2ec
Remove debug message.
Jul 8, 2025
209c6b1
Support to save fit figures as pdf.
Jul 8, 2025
a62c409
generalize folder names
sarakurkowska Jul 9, 2025
d226bf0
delete specific value for uncertainty
sarakurkowska Jul 9, 2025
825c0a0
delete the file from doodle folder
sarakurkowska Jul 9, 2025
3b62309
Merge pull request #67 from qurit/preclinical_dosimetry
plesqui Jul 9, 2025
8114db1
Merge branch 'dev' into plef-qspect
plesqui Jul 9, 2025
470e3a0
Fix type.
Jul 9, 2025
33bf5b4
Fix bug in squeeze image dimension.
Jul 9, 2025
ec034e9
Typo.
Jul 9, 2025
b334f94
Support for SPECT data stored as "PT" modality.
Jul 10, 2025
ec750d7
Fix bug with type consistency for tia_map
Jul 10, 2025
a517227
Allow use of default kernel if there is none present for specific vox…
Jul 10, 2025
87b570a
Initialize dataframes
Jul 11, 2025
828ab5b
Add base output json structure.
Jul 11, 2025
b86c4f9
Create Absorbed Dose DataFrame
Jul 11, 2025
90f1aa7
Fix of missmatch of shapes
Aug 1, 2025
8e6ba1c
Add check for mask and target image before resampling.
Aug 1, 2025
f61bf6f
Fix NotImplementedError
Aug 1, 2025
1d7701f
Fix bug in qspect scaling.
Aug 1, 2025
22e2b7a
Fix bug for handling PT modality
Aug 5, 2025
9813ce8
Merge pull request #68 from qurit/plef-qspect
sarakurkowska Aug 5, 2025
c19ac8f
refactor: move tests outside of published module
jasonspence Aug 8, 2025
1dda1fb
style: apply Black styling to test files
jasonspence Aug 8, 2025
dca749a
build: install pandas type info
jasonspence Aug 8, 2025
c3fe5aa
style: apply isort styling to test files
jasonspence Aug 8, 2025
a28e2fb
build: add a setup script and documentation to automate repo setup
jasonspence Aug 8, 2025
1c509dd
add dosimetry calculation by applying predefined s-values and perform…
sarakurkowska Aug 11, 2025
16ab40a
build: migrate pre-commit config and add smoke tests
jasonspence Aug 12, 2025
019937a
build: add type info installation
jasonspence Aug 12, 2025
a564a05
build: enumerate the types of tests
jasonspence Aug 12, 2025
66bd456
docs: document the slow test flag
jasonspence Aug 12, 2025
486d01e
build: specify black line length
jasonspence Aug 12, 2025
b4d1a0b
docs: explain uninstalling pre-commit hooks
jasonspence Aug 12, 2025
9f73eb9
refactor: convert MetaDataType from Dict to typed dataclass
jasonspence Aug 14, 2025
8f1dee0
build: configure flake8 to let black handle line length
jasonspence Aug 15, 2025
c312f76
style: reformat with black - calibrations
jasonspence Aug 15, 2025
5b16ccb
build: exclude data files from black formatting
jasonspence Aug 16, 2025
0de8969
style: reformat with black - dicomtools
jasonspence Aug 16, 2025
3ea123d
style: reformat with black - docs
jasonspence Aug 16, 2025
7d30df2
style: reformat with black - dosimetry
jasonspence Aug 16, 2025
8410a82
style: reformat with black - fits
jasonspence Aug 16, 2025
608314f
style: reformat with black - ImagingDS
jasonspence Aug 16, 2025
7fedc9e
style: reformat with black - ImagingTools
jasonspence Aug 16, 2025
933471b
style: reformat with black - MiscTools
jasonspence Aug 16, 2025
7a61815
style: reformat with black - MiscTools
jasonspence Aug 16, 2025
60f38c5
style: reformat with black - preclinical_dosimetry
jasonspence Aug 16, 2025
6ea04f4
style: reformat with black - qc
jasonspence Aug 16, 2025
5095aff
style: reformat with black - registration
jasonspence Aug 16, 2025
78b7e86
style: reformat with black - segmentation
jasonspence Aug 16, 2025
f559833
style: reformat with black - shared
jasonspence Aug 16, 2025
00ab93c
style: reformat with black - pytheranostics
jasonspence Aug 16, 2025
0fc5efa
docs: add isort documentation
jasonspence Aug 16, 2025
1bf338c
style: reorder imports with isort
jasonspence Aug 16, 2025
c824d20
build: include top level files in pre-commit
jasonspence Aug 16, 2025
0a6f532
style: reformat with pre-commit hooks
jasonspence Aug 16, 2025
cdbd33a
style: fix end-of-file newline
jasonspence Aug 16, 2025
4addf86
style: fix trailing whitespace
jasonspence Aug 16, 2025
e6a2692
build: disable flake8 where black is in charge
jasonspence Aug 16, 2025
62601e9
fix: resolve flake8 violations
jasonspence Aug 16, 2025
2cb85c4
style: fix formatting with black
jasonspence Aug 16, 2025
f8aeb55
build: add mypy configuration to reduce analysis cascades
jasonspence Aug 16, 2025
ae038a5
Merge pull request #72 from qurit/70-automated-tests
plesqui Aug 18, 2025
0bcda20
Merge branch 'dev' into 73-meta-to-dataclass
jasonspence Aug 18, 2025
5041d62
style: run pre-commit on merged files
jasonspence Aug 18, 2025
13e10b2
build: add pytest to vscode pre-commit
jasonspence Aug 18, 2025
63a83d6
fix: print correct error value
jasonspence Aug 18, 2025
f5780a2
build: fix vscode pre-commit pytest errors
jasonspence Aug 18, 2025
a3df24e
refactor: rename MetaDataType to ImagingMetadata
jasonspence Aug 18, 2025
28f223f
refactor: rename LongStudy to longitudinal_study
jasonspence Aug 19, 2025
bf5b67a
build: increase mypy strictness
jasonspence Aug 19, 2025
49a7388
build: fix isort profile to adhere to black styling
jasonspence Aug 19, 2025
2c85a05
refactor: fix mypy errors
jasonspence Aug 19, 2025
f87e09c
refactor: move LongditudinalStudy creation into class
jasonspence Aug 19, 2025
f310da9
feat: add extra checks for edge cases, and improve typing
jasonspence Aug 20, 2025
ceb8840
tests: add tests for LongitudinalStudy and run smoke tests first
jasonspence Aug 20, 2025
ceec3fc
refactor: make valid masks a class property
jasonspence Aug 20, 2025
65aa6c7
refactor: evaluate Lesion names programmatically
jasonspence Aug 21, 2025
5385b46
Merge pull request #74 from qurit/73-meta-to-dataclass
plesqui Aug 22, 2025
bcd1dbb
Merge pull request #76 from qurit/75-refactor-and-test-longitudinal-s…
plesqui Aug 22, 2025
d7f141c
adjust bed and write json file methods
sarakurkowska Sep 5, 2025
5e1c0c9
modify S-value for organs
sarakurkowska Sep 5, 2025
05c7202
initial methods to create pdf from json
sarakurkowska Sep 5, 2025
0f621d1
add function that generates MIP
sarakurkowska Sep 5, 2025
efd6caa
save plots as png and add the cycle number to the exported image
sarakurkowska Sep 5, 2025
57b4928
adjust for cases when r2 and AIC are not calculated (cycles 2-6)
sarakurkowska Sep 11, 2025
487693c
Include also conda environments
carluri Oct 30, 2025
f7dcf6c
Add NumPy docstring enforcement
carluri Oct 30, 2025
d6047af
minor changes
sarakurkowska Oct 30, 2025
a7c675b
pdf generator
sarakurkowska Oct 30, 2025
57e10e3
handle different organ s-value method
sarakurkowska Oct 30, 2025
5ecabc9
add weight
sarakurkowska Oct 30, 2025
c98d944
Merge pull request #79 from qurit/setup_fix
plesqui Oct 30, 2025
5cd63fc
Merge pull request #80 from qurit/numpy_docstrings
plesqui Oct 30, 2025
ba51500
Merge remote-tracking branch 'origin/dev' into SK_S-values_implementa…
sarakurkowska Oct 30, 2025
a28eebd
formatting
sarakurkowska Oct 30, 2025
8d14d25
Merge pull request #81 from qurit/SK_S-values_implementation_for_organs
carluri Oct 30, 2025
528a52f
Remove requirements.txt as now we have pyproject.toml and everything …
carluri Oct 30, 2025
94804fb
Update pyproject.toml to add pynetdicom dependency
carluri Oct 30, 2025
c2cb290
Add DICOM node for data ingestion to pytheranostics
carluri Oct 30, 2025
fd4227d
Add notebook to document examples of how to ingest data to pythreanos…
carluri Oct 30, 2025
ce4e20d
Merge pull request #83 from qurit/ingest_optimization
plesqui Oct 30, 2025
8bfa84c
Fix lower and upper cases for module names
carluri Oct 31, 2025
3d1f44e
Fix issue with exposing subpackages
carluri Oct 31, 2025
4ccaca0
Add parallel loading and fix Path concatenation in DICOM tools
carluri Oct 31, 2025
d6acd84
Refactor: convert module names to PEP 8 lowercase style
carluri Oct 31, 2025
c8f5006
decouple types to avoid circular imports
carluri Oct 31, 2025
da0ddfc
Improve loader to get data and longitudinal studies with masks in one…
carluri Oct 31, 2025
5f0d895
Add ROI mapping utilities
carluri Oct 31, 2025
080b355
Consolidate package metadata to pyproject.toml adding other authors
carluri Oct 31, 2025
2656786
Merge pull request #84 from qurit/load_patient
plesqui Oct 31, 2025
8608d41
add plot_MIP_with_mask_outlines
sarakurkowska Nov 5, 2025
1aaa6d4
improve formatting of variables
sarakurkowska Nov 5, 2025
4623ba7
rename variables for consistency
sarakurkowska Nov 5, 2025
6604d1b
add condition for when there are no lesions
sarakurkowska Nov 5, 2025
673f4f7
CT and SPECT ROI mapping with json config
carluri Nov 7, 2025
a48ebcc
Mapping summary utility and safe filtered load
carluri Nov 7, 2025
f88f6ca
Merge pull request #90 from qurit/load_patient
sarakurkowska Nov 7, 2025
296986e
preserve all ROIs and track mappings by study origin (CT/SPECT)
carluri Nov 7, 2025
d6965e3
Merge pull request #91 from qurit/lesion_mappings
plesqui Nov 7, 2025
9c41e80
docs: unify tutorial assets, improve sphinx build configuration
carluri Nov 9, 2025
ed2eafb
add tests for dosimetry/fits/imaging and set GitHub actions so tests …
carluri Nov 9, 2025
8d0c9d5
load data via importlib.resources
carluri Nov 9, 2025
f4249c1
centralize dosimetry and preclinical data under the pytheranostics.da…
carluri Nov 9, 2025
4a866c6
data: reorganize phantom and olinda data under the data folder and de…
carluri Nov 9, 2025
60a3508
add missing docstrings to comply with the docstring checks in github …
carluri Nov 9, 2025
9b42cc8
remove trailing whitespace in output.json
carluri Nov 9, 2025
38481a3
Trigger GitHub action for checks only on PRs
carluri Nov 9, 2025
3bf1c84
Initial plan
Copilot Nov 9, 2025
2092c8a
Improve exception handling for RadiopharmaceuticalInformationSequence
Copilot Nov 9, 2025
775a8a1
Merge pull request #93 from qurit/copilot/sub-pr-92
carluri Nov 9, 2025
8384299
reformatted as per black
carluri Nov 9, 2025
52e37a1
Merge pull request #92 from qurit/improvements
sarakurkowska Nov 12, 2025
aac7403
improve mass scaling for total body
sarakurkowska Nov 13, 2025
88e7725
Merge branch 'dev' into sk_new_branch_for_merging_changes
sarakurkowska Nov 14, 2025
5d2e80d
get patient height
sarakurkowska Nov 19, 2025
c92c374
rename from rois to VOIs
sarakurkowska Nov 19, 2025
890e55b
adjust x axis based on the highest value
sarakurkowska Nov 26, 2025
2efa4cd
add height and change from rois to VOIs
sarakurkowska Nov 26, 2025
9f12424
add ICRP male phantom masses
sarakurkowska Nov 26, 2025
2a159e5
add washout ratio for biexponential washout
sarakurkowska Nov 26, 2025
cc77931
add washout_ratio
sarakurkowska Nov 26, 2025
ce5b42c
improve the report generator
sarakurkowska Nov 26, 2025
9df2dc0
add washout ratio
sarakurkowska Nov 26, 2025
fd78b26
update organ dosimetry
sarakurkowska Nov 26, 2025
2353e6e
delete static method
sarakurkowska Jan 4, 2026
8e38ce5
add organ mass and scaling bar to the report
sarakurkowska Jan 4, 2026
59e99a1
adjust for cases with one kidney only
sarakurkowska Jan 8, 2026
1dbab57
initialize kinetic in nw lesions using mean kinetic from all lesions …
sarakurkowska Mar 24, 2026
1b3485c
add more organs to the report
sarakurkowska Mar 24, 2026
deedbc6
add comment on BM method
sarakurkowska Mar 24, 2026
ef6da55
adjust code for ge
sarakurkowska Mar 24, 2026
f3d3c55
gather existing kidneys dynamically
sarakurkowska Mar 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: CI

on:
pull_request:

jobs:
lint-and-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11"]

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -e ".[dev,test]"

- name: Run pre-commit
run: pre-commit run --all-files

- name: Run pytest
run: pytest
39 changes: 39 additions & 0 deletions .github/workflows/test_pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Test PyPI

on:
push:
branches:
- documentation
pull_request:
branches:
- documentation

jobs:
build-n-publish:
name: Build and publish Python 🐍 distributions 📦 to PyPI and TestPyPI
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@main
- name: Set up Python 3.8
uses: actions/setup-python@v3
with:
python-version: "3.8"
- name: Install pypa/build
run: >-
python -m
pip install
build
--user
- name: Build a binary wheel and a source tarball
run: >-
python -m
build
--sdist
--wheel
--outdir dist/
.
- name: Publish distribution 📦 to PyPI
if: startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
password: ${{ secrets.PYPI_API_TOKEN }}
11 changes: 11 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down Expand Up @@ -127,3 +128,13 @@ dmypy.json

# Pyre type checker
.pyre/


# Other
Notebooks
xcatPhantom
pytheranostics/local
pytheranostics/.vscode

pytheranostics/data/s-values
pytheranostics/data/ICRP_phantom_masses
58 changes: 58 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
repos:
- repo: https://github.com/psf/black
rev: 25.1.0
hooks:
- id: black
files: '^(pytheranostics/|tests/)|^[^/]+\.py$'

- repo: https://github.com/pre-commit/mirrors-isort
rev: v5.10.1
hooks:
- id: isort
args: ["--profile", "black"]
files: '^(pytheranostics/|tests/)|^[^/]+\.py$'

- repo: https://github.com/PyCQA/flake8
rev: 7.3.0
hooks:
- id: flake8
files: '^(pytheranostics/|tests/)|^[^/]+\.py$'

- repo: https://github.com/PyCQA/pydocstyle
rev: 6.3.0
hooks:
- id: pydocstyle
files: '^pytheranostics/.*\.py$'
args: ["--convention=numpy"]
additional_dependencies: ["tomli"] # For reading pyproject.toml config

# Temporarily disabled - mypy follows imports to legacy code with type issues
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v1.16.1
# hooks:
# - id: mypy
# files: '^(tests/).*\.py$'
# additional_dependencies: [pandas-stubs>=2.0.0, types-requests]

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
files: '^(pytheranostics/|tests/)|^[^/]+\.(py|md|yml|yaml|toml)$'
- id: trailing-whitespace
files: '^(pytheranostics/|tests/)|^[^/]+\.(py|md|yml|yaml|toml)$'
- id: check-added-large-files
args: ['--maxkb=1000']

- repo: local
hooks:
- id: pytest-smoke
name: pytest (smoke tests only)
entry: python
language: python
args: ["-m", "pytest", "-m", "smoke", "--tb=short"]
pass_filenames: false
stages: [pre-commit]
# NOTE: Keep these dependencies in sync with pyproject.toml [project.dependencies]
additional_dependencies: ["pytest>=7.0", "numpy", "matplotlib", "pandas", "pydicom", "openpyxl", "rt-utils", "scikit-image", "simpleitk", "lmfit"]
35 changes: 35 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the OS, Python version and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.12"
# You can also specify other tool versions:
# nodejs: "19"
# rust: "1.64"
# golang: "1.19"

# Build documentation in the "docs/" directory with Sphinx
sphinx:
configuration: docs/source/conf.py

# Optionally build your docs in additional formats such as PDF and ePub
# formats:
# - pdf
# - epub

# Optional but recommended, declare the Python requirements required
# to build your documentation
# See https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- method: pip
path: .
extra_requirements:
- docs
15 changes: 15 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"python.defaultInterpreterPath": "./.venv/Scripts/python.exe",
"python.terminal.activateEnvironment": true,
"git.useIntegratedTerminal": true
}
27 changes: 27 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2024-03-19

### Added
- Initial release of PyTheranostics
- Basic package structure and modules
- Core functionality for nuclear medicine image processing
- Dosimetry calculation tools
- DICOM handling capabilities
- Calibration utilities
- Quality control tools
- Registration and segmentation modules
- Visualization and plotting features

### Changed
- Migrated from doodle to PyTheranostics
- Updated package name and structure
- Improved documentation

### Fixed
- Initial bug fixes and improvements
Loading
Loading