.. _installation:
Installation
============
Matlab
------
Clone the repo at https://github.com/openneuropet/PET2BIDS.git and the contents of the `matlab` folder to your matlab
path with `addpath`:
.. code-block::
>> addpath("PET2BIDS/matlab/")
.. raw:: html
Python
------
The python version of PET2BIDS (from herein referenced by it's library name *pypet2bids*) can be installed
via pip for Python versions >3.7.1,=<3.11
.. code-block::
pip install pypet2bids
.. raw:: html
If you wish to contribute, are unable to install from PyPi, or simply wish to run pypet2bids from source, continue
reading the `Additional Install Notes`_ section below.
Additional Install Notes
------------------------
**Matlab**
------------------------------------------------------------------------------------------------------------------------
**Dependencies**
*To convert DICOM files*,
`dcm2niix `__ (Chris Rorden) must be installed.
We recommend using dcm2niix version v1.0.20220720 or above as it has been updated to better tease out PET information
from source dicoms. Using older dcm2niix versions (especially year 2020 or later) can cause issues with this software.
The latest releases can always be found at
`dcm2niix/releases `__
Windows users must, in addition, indicate its full path in
`dcm2niix4pet.m `__.
**Redistributed functions**
To convert ECAT files, `ecat2nii.m `_ uses
`readECAT7 `_ (Raymond Muzic, 2002) and
`nii_tool `_ (Xiangrui Li, 2016), who are included and redistributed in the
repository. *To write the JSON sidecar files*, one uses jsonwrite.m (Guillaume Flandin, 2020) taken from
`json.io `_.
**Configuration**
The entire repository or only the matlab subfolder (your choice) should be in your matlab path.
Defaults parameters should be set in (scannername).txt files to generate metadata easily (i.e. avoiding to pass
all arguments in although this is also possible). You can find templates of such parameter file under /template_txt
(SiemensHRRTparameters.txt, SiemensBiographparameters.txt, GEAdvanceparameters.txt, PhilipsVereosparameters.txt).
------------------------------------------------------------------------------------------------------------------------
**Python**
If you are unable to install this library from PyPi you can clone this repository to build and install the package
as distributed on PyPi yourself with poetry.
We use `poetry `_ to build this package, no other build methods are supported,
further we encourage the use of `GNU make `_ and a bash-like shell to simplify the
build process.
After installing poetry, you can build and install this package to your local version of Python with the following
commands (keep in mind the commands below are executed in a bash-like shell):
.. code-block::
cd PET2BIDS
cp -R metadata/ pypet2bids/pypet2bids/metadata
cp pypet2bids/pyproject.toml pypet2bids/pypet2bids/pyproject.toml
cd pypet2bids && poetry lock && poetry build
pip install dist/pypet2bids-X.X.X-py3-none-any.whl
.. note::
Make and the additional scripts contained in the `scripts/` directory are for the convenience of
non-windows users.
If you have GNU make installed and are using a bash or something bash-like in you your terminal of choice, run the
following:
.. code-block::
cd PET2BIDS
make installpoetry buildpackage installpackage
.. _Github: https://github.com/openneuropet/PET2BIDS
pypet2bids can be run from source by cloning the source code at our Github_.
.. code-block::
git clone https://github.com/openneuropet/PET2BIDS
and then installing it's dependencies via pip:
.. code-block::
cd PET2BIDS/pypet2bids
pip install .
or installing them with `Poetry `_:
.. code-block::
cd PET2BIDS/pypet2bids
poetry install
After either poetry or pip installation of dependencies modules can be executed as follows:
.. code-block::
cd PET2BIDS/pypet2bids
python dcm2niix4pet.py --help
**Windows Only**
It's important that python be on your windows path; when installing Python be sure to select **Add Python 3.XXX**
to PATH:
.. image:: media/check_python_path_windows_install.png
Otherwise, if you're a savvy user w/ admin you config your PATH variable/cmd however you see fit. The above is simply
this easiest and most universal way of getting python onto windows path.
Windows requires the user to manually point to the installed path of
`dcm2niix `_.
Pypet2bids checks for this path in the *.petbidsconfig* file located at the users home director. This file needs to
exist and contain a valid path to dcm2niix.exe stored under the name *DCM2NIIX_PATH*. This can be set up by either
manually creating the file:
.. code-block::
# get the home directory
echo $Home
C:\Users\pet2bidsuser\
# then save a configuration file at the location $Home\.pet2bidsconfig containing the following line
DCM2NIIX_PATH=""
# e.g. when printing out the contents of the file at .pet2bidsconfig on should see something
# resembling the following
cat C:\Users\pet2bidsuser\.pet2bidsconfig
DCM2NIIX_PATH="C:\Users\pet2biduser\dcm2niix.exe"
Or using the *dcm2niix4pet* tool itself to set up the configuration:
.. code-block::
dcm2niix4pet --set-dcm2niix-path \path\to\dcm2niix.exe