-
-
Notifications
You must be signed in to change notification settings - Fork 23
Expand file tree
/
Copy pathMakefile
More file actions
90 lines (69 loc) · 2.5 KB
/
Makefile
File metadata and controls
90 lines (69 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
# add a dependency, this is an alias for uv add that also updates the pyproject.toml file
add:
@scripts/add_python_dependency $(ARGUMENTS)
# builds package using standard Python packaging tools
buildpackage:
@cp pypet2bids/pyproject.toml pypet2bids/pypet2bids/pyproject.toml
@rm -rf pypet2bids/dist
@cd pypet2bids && uv build
publish:
@cd pypet2bids && uv publish
installuv:
@cd scripts && ./installuv
# installs latest package
installpackage:
@scripts/installpackage
testphantoms:
@scripts/testphantoms
# test package across all supported Python versions
test-all-python-versions:
@scripts/test_all_python_versions
html:
@cd docs && make html
installdependencies:
@cd pypet2bids; \
python -m pip install --upgrade pip; \
pip install uv; \
uv sync --dev
collectphantoms:
ifeq (, $(wildcard ./PHANTOMS.zip))
@wget -O PHANTOMS.zip https://openneuropet.s3.amazonaws.com/US-sourced-OpenNeuroPET-Phantoms.zip
else
@echo "PHANTOMS.zip already exists"
endif
decompressphantoms:
@unzip -o PHANTOMS.zip
testecatcli:
@cd pypet2bids; \
uv run python -m pypet2bids.ecat_cli --help; \
uv run python -m pypet2bids.ecat_cli ../OpenNeuroPET-Phantoms/sourcedata/SiemensHRRT-JHU/Hoffman.v --dump
testecatread:
@cd pypet2bids; \
export TEST_ECAT_PATH="../OpenNeuroPET-Phantoms/sourcedata/SiemensHRRT-JHU/Hoffman.v"; \
export READ_ECAT_SAVE_AS_MATLAB="$$PWD/tests/ECAT7_multiframe.mat"; \
export NIBABEL_READ_ECAT_SAVE_AS_MATLAB="$$PWD/tests/ECAT7_multiframe.nibabel.mat"; \
uv run python3 -m tests.test_ecatread
testotherpython:
cd pypet2bids; \
export TEST_DICOM_IMAGE_FOLDER="../OpenNeuroPET-Phantoms/sourcedata/SiemensBiographPETMR-NIMH/AC_TOF"; \
uv run pytest --ignore=tests/test_write_ecat.py tests/ -vvv
pythongithubworkflow: installdependencies collectphantoms decompressphantoms testecatread testecatcli testotherpython
@echo finished running python tests
black:
@black pypet2bids/