django_dicom.data_import package¶
Module contents¶
Provides classes that supervise data import. These classes manage the creation and association of DICOM entities (see here and here for more information).
Submodules¶
django_dicom.data_import.import_image module¶
-
class
django_dicom.data_import.import_image.
ImportImage
(dcm: _io.BufferedReader)¶ Bases:
object
A class to handle importing new DICOM files to the database. Takes care of maintaining the Series, Study, and Patient relations with the created Image.
-
create_image
() → django_dicom.models.image.Image¶ Stores the DICOM file locally and creates an Image instance from it without saving it (allowing for the fields to be updated from the header beforehand).
- Returns
The created Image for the given file.
- Return type
-
generate_entities_and_relationships
() → None¶ Execute the generation and association of the new image’s DICOM entities.
-
get_entity_uid_from_header
(Entity: django_dicom.models.dicom_entity.DicomEntity) → str¶ Returns the UID of the given entity from the DICOM header information.
- Parameters
Entity (DicomEntity) – One of the DICOM entities (Image, Series, Study, and Patient).
- Returns
The UID value for the given entity.
- Return type
-
get_image_destination
() → str¶ Returns the default relative path for this image under MEDIA_ROOT. TODO: Add a way for the user to configure this.
- Returns
Default relative path for this image.
- Return type
-
get_or_create_entity
(Entity: django_dicom.models.dicom_entity.DicomEntity, save: bool = True) → tuple¶ Gets or creates an instance of the given
django_dicom.DicomEntity
using its UID. The save parameter is mostly meant to help with testing.- Parameters
Entity (DicomEntity) – One of the DICOM entities (Image, Series, Study, and Patient).
save (bool) – Whether to save the instance to the database if it is created (default to True, which will call the save() method).
- Returns
(dicom_entity, created)
- Return type
-
handle_integrity_error
() → tuple¶ If an IntegrityError is raised during generation of the DICOM entities, delete the temporary file. An InegrityError should indicate the image already exists in the database, so the method also tries to return the existing Image instance.
- Returns
( existing_image , created )
- Return type
-
move_image_to_destination
() → str¶ Moves the created image to its default location under MEDIA_ROOT.
- Returns
Full path of the new location.
- Return type
-
run
() → tuple¶ Adds the image to the database and generates its associated entities as an atomic transaction. If the transaction fails, calls
handle_integrity_error()
This assumes an existing image and tries to return it.- Returns
( image_instance, created )
- Return type
-
store_file
() → str¶ Stores the DICOM file in a temporary location under MEDIA_ROOT using Django’s default_storage.
- Returns
The name of the temporary file created.
- Return type
-
django_dicom.data_import.local_import module¶
-
class
django_dicom.data_import.local_import.
LocalImport
(path: str)¶ Bases:
object
This class handles importing data from a local directory. Any .dcm files under the directory tree will be imported using
ImportImage
.TODO: This should be made into a custom django-admin command: https://docs.djangoproject.com/en/2.2/howto/custom-management-commands/
-
import_dcm_files
(verbose: bool = True) → None¶ Creates
Image
instances for each “.dcm” file under the given directory tree. Prints an iterations counter and reports the number of instances added in the end.- Parameters
verbose (bool, optional) – Shows an iterations/second meter (default to True).
-
classmethod
import_local_dcm
(path: str) → django_dicom.models.image.Image¶ Reads the local DICOM image into an
io.BufferedReader
and usesImportImage
to create anImage
from it.
-
classmethod
import_local_zip_archive
(path: str, verbose: bool = True) → None¶ Iterates over the files within a ZIP archive and imports any “.dcm” files.
-
import_zip_archives
(verbose: bool = True) → None¶ Finds ZIP archives under the current directory tree and imports any DICOM data (.dcm files) found within them.
- Parameters
verbose (bool, optional) – Shows a progressbar (default to True).
-
path_generator
(extension: str = '') → str¶ Generates paths from the given directory tree.
-
run
(import_zip: bool = True, verbose: bool = True) → None¶ Imports any DICOM data (.dcm files) found under the given path.
-