django_dicom package¶
Module contents¶
Manages DICOM files by creating Django models to represent the various DICOM entities (see django_dicom.models package for more information). Also provides the django_dicom.data_import package for supervising the maintenance of these models when importing new data, and a few more utility modules meant to help retrieving DICOM data easily and efficiently.
Subpackages¶
- django_dicom.data_import package
- django_dicom.filters package
- django_dicom.models package
- Module contents
- Subpackages
- Submodules
- django_dicom.models.choice_enum module
- django_dicom.models.dicom_entity module
- django_dicom.models.fields module
- django_dicom.models.help_text module
- django_dicom.models.image module
- django_dicom.models.patient module
- django_dicom.models.series module
- django_dicom.models.study module
- django_dicom.models.validators module
- django_dicom.reader package
- django_dicom.serializers package
Submodules¶
django_dicom.admin module¶
-
class
django_dicom.admin.
ImageAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
list_display
= ('id', 'uid', 'series', 'number', 'date', 'time')¶
-
media
¶
-
ordering
= ['-date', '-series', 'number']¶
-
readonly_fields
= ['uid']¶
-
-
class
django_dicom.admin.
ImageInLine
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
exclude
= ('uid', 'date', 'time')¶
-
media
¶
-
model
¶ alias of
django_dicom.models.image.Image
-
ordering
= ['number']¶
-
-
class
django_dicom.admin.
PatientAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
fieldsets
= ((None, {'fields': ('uid',)}), ('Name', {'fields': ('name_prefix', 'given_name', 'middle_name', 'family_name', 'name_suffix')}), ('Personal Information', {'fields': ('sex', 'date_of_birth')}))¶
-
inlines
= (<class 'django_dicom.admin.SeriesInLine'>,)¶
-
list_display
= ('id', 'uid', 'given_name', 'family_name', 'sex', 'date_of_birth')¶
-
media
¶
-
-
class
django_dicom.admin.
SeriesAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
inlines
= (<class 'django_dicom.admin.ImageInLine'>,)¶
-
list_display
= ('id', 'uid', 'date', 'time', 'number', 'description')¶
-
media
¶
-
ordering
= ['-date', '-time']¶
-
readonly_fields
= ['uid']¶
-
-
class
django_dicom.admin.
SeriesInLine
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
fields
= ('date', 'number', 'description', 'scanning_sequence', 'sequence_variant', 'repetition_time', 'echo_time', 'inversion_time')¶
-
media
¶
-
model
¶ alias of
django_dicom.models.series.Series
-
ordering
= ['date', 'number']¶
-
-
class
django_dicom.admin.
StudyAdmin
(model, admin_site)¶ Bases:
django.contrib.admin.options.ModelAdmin
-
inlines
= (<class 'django_dicom.admin.StudySeriesInLine'>,)¶
-
list_display
= ('id', 'uid', 'description')¶
-
media
¶
-
readonly_fields
= ['uid']¶
-
-
class
django_dicom.admin.
StudySeriesInLine
(parent_model, admin_site)¶ Bases:
django.contrib.admin.options.TabularInline
-
fields
= ('patient', 'date', 'number', 'description', 'scanning_sequence', 'sequence_variant')¶
-
media
¶
-
model
¶ alias of
django_dicom.models.series.Series
-
ordering
= ['patient', 'date', 'number']¶
-
django_dicom.apps module¶
django_dicom.urls module¶
-
django_dicom.urls.
path
(route, view, kwargs=None, name=None, *, Pattern=<class 'django.urls.resolvers.RoutePattern'>)¶
django_dicom.utils module¶
-
class
django_dicom.utils.
NumpyEncoder
(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)¶ Bases:
json.encoder.JSONEncoder
Converts NumPy array to a JSON serializable nested list. Based on this SO answer.
-
default
(obj)¶ Implement this method in a subclass such that it returns a serializable object for
o
, or calls the base implementation (to raise aTypeError
).For example, to support arbitrary iterators, you could implement default like this:
def default(self, o): try: iterable = iter(o) except TypeError: pass else: return list(iterable) # Let the base class default method raise the TypeError return JSONEncoder.default(self, o)
-
-
django_dicom.utils.
snake_case_to_camel_case
(string: str) → str¶
django_dicom.views module¶
-
class
django_dicom.views.
DefaultsMixin
¶ Bases:
object
Default settings for view authentication, permissions, filtering and pagination.
-
authentication_classes
= (<class 'rest_framework.authentication.BasicAuthentication'>, <class 'rest_framework.authentication.TokenAuthentication'>)¶
-
filter_backends
= (<class 'django_filters.rest_framework.backends.DjangoFilterBackend'>, <class 'rest_framework.filters.SearchFilter'>, <class 'rest_framework.filters.OrderingFilter'>)¶
-
permission_classes
= (<class 'rest_framework.permissions.IsAuthenticated'>,)¶
-
-
class
django_dicom.views.
ImageViewSet
(**kwargs)¶ Bases:
django_dicom.views.DefaultsMixin
,rest_framework.viewsets.ModelViewSet
API endpoint that allows images to be viewed or edited.
-
basename
= None¶
-
description
= None¶
-
detail
= None¶
-
filter_class
¶
-
name
= None¶
-
ordering_fields
= ('series', 'number', 'date', 'time')¶
-
pagination_class
¶ alias of
StandardResultsSetPagination
-
parser_classes
= (<class 'rest_framework.parsers.MultiPartParser'>,)¶
-
pixel_data
(request, pk: int = None)¶ Returns the instance’s pixel array as a
Response
.- Parameters
request (
Request
) – The request object.pk (int, optional) – The requested object’s primary key, by default None
- Returns
Image pixel data as a response.
- Return type
Response
-
put
(request, format=None)¶
-
queryset
= <QuerySet [<Image: 1.3.12.2.1107.5.2.43.66024.2017033009481518365933824>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481525411433827>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481532477033830>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481539557833833>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481546586433836>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481553773133839>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481560749733842>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481567797833845>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481574853133848>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481581925833851>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481589080733854>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481822014733857>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481828949433860>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481835987533863>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481843066133866>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481850119333869>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481857193633872>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481864363133875>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481871327833878>, <Image: 1.3.12.2.1107.5.2.43.66024.2017033009481878488633881>, '...(remaining elements truncated)...']>¶
-
search_fields
= ('number', 'date', 'time', 'uid')¶
-
serializer_class
¶ alias of
django_dicom.serializers.image_serializer.ImageSerializer
-
suffix
= None¶
-
-
class
django_dicom.views.
PatientViewSet
(**kwargs)¶ Bases:
django_dicom.views.DefaultsMixin
,rest_framework.viewsets.ModelViewSet
API endpoint that allows patients to be viewed or edited.
-
basename
= None¶
-
description
= None¶
-
detail
= None¶
-
filter_class
¶ alias of
django_dicom.filters.patient_filter.PatientFilter
-
name
= None¶
-
pagination_class
¶ alias of
StandardResultsSetPagination
-
queryset
= <QuerySet [<Patient: 0KBX3AOI>]>¶
-
serializer_class
¶ alias of
django_dicom.serializers.patient_serializer.PatientSerializer
-
suffix
= None¶
-
-
class
django_dicom.views.
SeriesViewSet
(**kwargs)¶ Bases:
django_dicom.views.DefaultsMixin
,rest_framework.viewsets.ModelViewSet
API endpoint that allows series to be viewed or edited.
-
basename
= None¶
-
description
= None¶
-
detail
= None¶
-
filter_class
¶ alias of
django_dicom.filters.series_filter.SeriesFilter
-
name
= None¶
-
ordering_fields
= ('study', 'patient', 'number', 'date', 'time', 'scanning_sequence', 'sequence_variant', 'pixel_spacing', 'echo_time', 'inversion_time', 'repetition_time', 'manufacturer', 'manufacturer_model_name', 'magnetic_field_strength', 'device_serial_number', 'institution_name')¶
-
pagination_class
¶ alias of
StandardResultsSetPagination
-
pixel_data
(request, pk: int = None)¶ Returns the instance’s pixel array as a
Response
.- Parameters
request (
Request
) – The request object.pk (int, optional) – The requested object’s primary key, by default None
- Returns
Series pixel data as a response.
- Return type
Response
-
queryset
= <QuerySet [<Series: 1.3.12.2.1107.5.2.43.66024.20170330094814855633819.0.0.0>]>¶
-
search_fields
= ('study', 'patient', 'body_part_examined', 'number', 'description', 'date', 'time', 'modality', 'protocol_name', 'scanning_sequence', 'sequence_variant', 'pixel_spacing', 'echo_time', 'inversion_time', 'repetition_time', 'flip_angle', 'manufacturer', 'manufacturer_model_name', 'magnetic_field_strength', 'device_serial_number', 'institution_name', 'uid')¶
-
serializer_class
¶ alias of
django_dicom.serializers.series_serializer.SeriesSerializer
-
suffix
= None¶
-
-
class
django_dicom.views.
StandardResultsSetPagination
¶ Bases:
rest_framework.pagination.PageNumberPagination
-
page_size
= 25¶
-
page_size_query_param
= 'page_size'¶
-
-
class
django_dicom.views.
StudyViewSet
(**kwargs)¶ Bases:
django_dicom.views.DefaultsMixin
,rest_framework.viewsets.ModelViewSet
API endpoint that allows studies to be viewed or edited.
-
basename
= None¶
-
description
= None¶
-
detail
= None¶
-
filter_class
¶ alias of
django_dicom.filters.study_filter.StudyFilter
-
name
= None¶
-
pagination_class
¶ alias of
StandardResultsSetPagination
-
queryset
= <QuerySet [<Study: 1.3.12.2.1107.5.2.43.66024.30000017033006135450400000001>]>¶
-
serializer_class
¶ alias of
django_dicom.serializers.study_serializer.StudySerializer
-
suffix
= None¶
-