Skip to main content

Synchronize medical imaging studies between storage modalities

Project description

dicomsync

CI PyPI PyPI - Python Version Code style: black Checked with mypy

Synchronize medical imaging studies between storage modalities

  • Adds control, logging and error handling to copying medical imaging data
  • Queries and copies to make sure imaging studies exist on both sides
  • Supports DICOM file folders and XNAT pre-archive currently

Installation

pip install dicomsync

Usage

See /examples folder

Development

To set up for development of dicomsync:

  • git clone from github
  • Install dependencies:
poetry install
  • Add pre-commit hooks:
pre-commit install 
  • To check code before committing:
pre-commit run

Design notes

Choices and intentions for this library. Guideline for development.

The goal of dicomsync is to make it easier to transfer medical imaging studies between different places. Some practical examples:

  • Avoiding duplicate uploads. Make it easy to do a sync operation multiple times (after errors) without worry.
  • Logging. Starting and leaving a multi-day upload, coming back and knowing what happened.

The main objects are ImagingStudy and Place. dicomsync works with imaging studies that can exists in different places. Initial places can be XNAT, Local folder, local zipfile. Each place tends to have its own ImagingStudy subclass

First version simplifications

Rabbit holes avoided in the first version

  • No universal intermediate data structures. It would be great to have a universal dicomsync internal data structure. For ImagingStudy subtype you define a to_dicomsync() and from_dicomsync() methods. However this is way to involved for now. We will stick with to_specific_place() methods for each individual place.

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

dicomsync-1.0.1.tar.gz (21.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dicomsync-1.0.1-py3-none-any.whl (27.3 kB view details)

Uploaded Python 3

File details

Details for the file dicomsync-1.0.1.tar.gz.

File metadata

  • Download URL: dicomsync-1.0.1.tar.gz
  • Upload date:
  • Size: 21.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.9.22 Linux/6.11.0-1014-azure

File hashes

Hashes for dicomsync-1.0.1.tar.gz
Algorithm Hash digest
SHA256 535ab8d96015d8bc42eab3f4daf4b02ca6c516837414e29e7ce7463da5e53aa1
MD5 e9bed532a205e2fb93a1a02211024c54
BLAKE2b-256 8ddbe97a1a6035278936f791e8c6d09fecf7367b44260cb530832a171fd384c3

See more details on using hashes here.

File details

Details for the file dicomsync-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: dicomsync-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 27.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.9.22 Linux/6.11.0-1014-azure

File hashes

Hashes for dicomsync-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 59032b0cc624355d3b32a002ebb38bbeb9e8b7fb88af598871ba4cc7b2675325
MD5 b20fabf5afb76a0dcb5072cc620c042e
BLAKE2b-256 3885a10a17a0c3e4630919c04c58719a4a182806eec75e55dc9948f7686413c9

See more details on using hashes here.

Supported by

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