Skip to main content

DICOM splitter based on unique tags, or localizers

Project description

DICOM Splitter

This gear is meant to split DICOM archives into two or more archives. The main use cases for this gear are if,

  • There are one or more localizers (scouts, etc.) mixed in with primary images
  • There are multiple Series in one archive.
  • The archive is multiphasic with respect to slice location (geometry split)
  • The archive has non uniform image orientations (geometry split)
  • Some field varies across the archive and you have reason to the archive based on that field (Note: This "group by" option is exclusive if a previous geometry split is performed)

The gear is set to do the first two above by default, i.e. it will extract a localizer(s) from the archive, and it will extract each unique SeriesInstanceUID into its own archive.

Usage

Inputs

  • dicom : DICOM archive input

Configuration

  • extract_localizer (boolean, default True): Whether or not to extract localizer from archive.
  • group_by (string, default "SeriesInstanceUID"): Comma separated list of dicom tags to split the archive on.
  • tag (string, default "splitter"): The tag to be added on input file upon run completion.
  • debug (boolean, default False): Include debug output.
  • delete_input (boolean, default True): Delete input if DICOM is successfully split.

Outputs

The gear will output nothing if no splitting action was taken. Otherwise it will output a variable number of archives depending on the input and configuration named with the following pattern:

series-<SeriesNumber>_<Modality>_<SeriesDescription>_<GroupByTags>[_localizer], where

  • SeriesNumber is the value of the SeriesNumber tag across the archive. By default the largest sized archive (by number of slices) will retain the original SeriesNumber and additional archives will be incremented by 1000 + i, where i is the index of the archive in a list of total archives.
  • SeriesDescription is the value of the SeriesDescription tag across the archive
  • GroupByTags is an underscore separated list of all tags appearing in the group_by list, and their corresponding value in that archive. Tags "SeriesInstanceUID" and "SeriesNumber" are not included even if they appear in the group_by list.
  • Modality is the value of the Modality tag across the archive
  • If the series is a localizer, _localizer will be appended.

Version 2.0.0 Breaking Change

Note that versions of this gear prior to version 2.0.0 are named splitter. On the release of version 2.0.0, the gear was renamed to dicom-splitter and all package names, import statements, and other references were modified to reflect this rename. Any software that depends on dicom-splitter should be updated with this breaking change in mind.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

fw_gear_dicom_splitter-2.0.2-py3-none-any.whl (22.5 kB view details)

Uploaded Python 3

File details

Details for the file fw_gear_dicom_splitter-2.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fw_gear_dicom_splitter-2.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c0c65cba3530650943da0b1399f574ff4a6edc155c7f39ff8a094ff2afdb2900
MD5 bccbc933cdd39a228781c2342c3142aa
BLAKE2b-256 e2f60abf1c3241f4d11bbc662e51589e967933ea3fd76d955112b65ffed72fd1

See more details on using hashes here.

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