Skip to main content

A package for DICOM utilities.

Project description

Documentation Status GitHub GitHub code size in bytes

pacsanini

pacsanini 🎻 is a package designed to help with the collection of DICOM files and the extraction of DICOM tags (metadata) for structuring purposes.

pacsanini's functionalities come out of a desire to facilitate research in medical imagery by easing the process of data collection and structuring. The two main pain points for this are:

  • acquiring data from a PACS
  • extracting metadata from DICOM files in research-ready formats (eg: csv)

The project seeks to target medical/research professionals that are not necessarily familiar with coding but wish to obtain data sets and software engineers that wish to build applications with a certain level of abstraction.

Documentation

Check out the complete documentation on readthedocs. You will be able to find examples on how to use the pacsanini API from within you Python application and as a command line tool.

Contributing and Code of Conduct

All contributions to improve pacsanini are welcome and valued. For more information on how you can contribute, please read the Contributing document and make sure that you are familiar with our Code of Conduct.

Installation

To obtain the cutting edge version of pacsanini, you can use pip or poetry in the following way:

pip install git+https://github.com/Therapixel/pacsanini.git
# or
poetry add git+https://github.com/Therapixel/pacsanini.git

For development

poetry is the only supported build tool for installing pacsanini in a development context. See the previous section on how to install poetry.

git clone https://github.com/Therapixel/pacsanini.git
cd pacsanini
poetry install --no-root --no-dev
# or, to install the project and its development dependencies:
poetry install --no-root

Usage with docker

A docker image can be built locally to run pacsanini within an isolated environment.

docker image build -t latest .
docker run pacsanini --help

Roadmap

The following topics are the main areas where pacsanini can improve as a library and a tool. Of course, these topics are up for discussion and such discussions are encouraged in the GitHub issues section.

Documentation

  • 🚧 Provide more in-depth examples of how pacsanini can be used and be useful inside python applications

Data Collection

  • 🚧 Make the single-command pipeline more mature.

    • Add a feature to send notifications when a step is done
  • 🚧 Use sql storage as an alternative to CSV storage.

  • 🚧 Improve error handling for C-MOVE operations.

  • 🚧 Implement the ability for event handling when DICOM files are received by the storescp server.

Testing

  • 🚧 Find a good way to test DICOM network messaging applications. Possibly with the dcmtk suite, the apps from pynetdicom or even a Docker container with a PACS?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pacsanini-0.1.1.tar.gz (34.6 kB view hashes)

Uploaded Source

Built Distribution

pacsanini-0.1.1-py3-none-any.whl (56.6 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page