Synchronize medical imaging studies between storage modalities
Project description
dicomsync
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
syncoperation 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()andfrom_dicomsync()methods. However this is way to involved for now. We will stick withto_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
535ab8d96015d8bc42eab3f4daf4b02ca6c516837414e29e7ce7463da5e53aa1
|
|
| MD5 |
e9bed532a205e2fb93a1a02211024c54
|
|
| BLAKE2b-256 |
8ddbe97a1a6035278936f791e8c6d09fecf7367b44260cb530832a171fd384c3
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59032b0cc624355d3b32a002ebb38bbeb9e8b7fb88af598871ba4cc7b2675325
|
|
| MD5 |
b20fabf5afb76a0dcb5072cc620c042e
|
|
| BLAKE2b-256 |
3885a10a17a0c3e4630919c04c58719a4a182806eec75e55dc9948f7686413c9
|