============
Installation
============
``Heudiconv`` is packaged and available from many different sources.
.. _install_local:
Local
=====
Released versions of HeuDiConv are available on `PyPI `_
and `conda `_.
If installing through ``PyPI``, eg::
pip install heudiconv[all]
Manual installation of `dcm2niix `_
is required. You can also benefit from an installer/downloader helper ``dcm2niix`` package
on ``PyPI``, so you can simply ``pip install dcm2niix`` if you are installing in user space so
subsequently it would be able to download and install dcm2niix binary.
On Debian-based systems, we recommend using `NeuroDebian `_,
which provides the `heudiconv package `_.
.. _install_container:
Containers
==========
Our container image releases are availe on `our Docker Hub `_
If `Docker `_ is available on your system, you can pull the latest release::
$ docker pull nipy/heudiconv:latest
Additionally, HeuDiConv is available through the Docker image at `repronim/reproin `_ provided by
`ReproIn heuristic project `_, which develops the ``reproin`` heuristic.
To maintain provenance, it is recommended that you use the ``latest`` tag only when testing out heudiconv.
Otherwise, it is recommended that you use an explicit version and record that information alongside the produced data.
Singularity
===========
If `Singularity `_ is available on your system,
you can use it to pull and convert our Docker images! For example, to pull and
build the latest release, you can run::
$ singularity pull docker://nipy/heudiconv:latest
Singularity YODA style using ///repronim/containers
===================================================
`ReproNim `_ provides a large collection of Singularity container images of popular
neuroimaging tools, e.g. all the BIDS-Apps. This collection also includes the forementioned container
images for `HeuDiConv `_ and
`ReproIn `_ in the Singularity image format. This collection is available as a
`DataLad `_ dataset at `///repronim/containers `_
on `datasets.datalad.org `_ and as `a GitHub repo `_.
The HeuDiConv and ReproIn container images are named ``nipy-heudiconv`` and ``repronim-reproin``, respectively, in this collection.
To use them, you can install the DataLad dataset and then use the ``datalad containers-run`` command to run.
For a more detailed example of using images from this collection while fulfilling
the `YODA Principles `_, please check out
`A typical YODA workflow `_ in
the documentation of this collection.
**Note:** With the ``datalad containers-run`` command, the images in this collection work on macOS (OSX)
as well for ``repronim/containers`` helpers automagically take care of running the Singularity containers via Docker.