Filters¶
Module contents¶
Provides filter classes for the REST API endpoints (for more information see the DRF docs and django-filter’s integration with DRF docs).
Submodules¶
django_dicom.filters.image_filter module¶
Definition of the ImageFilter class.
-
class
django_dicom.filters.image_filter.ImageFilter(data=None, queryset=None, *, request=None, prefix=None)¶ Bases:
django_filters.rest_framework.filterset.FilterSetProvides filtering functionality for the
ImageViewSet.Available filters are:
- id: Primary key
- series_uid: Series instance UID (contains)
- series_description: Series description (contains)
- number: Series number (exact)
- created_after_date: Create after date
- created_before_date: Create before date
- created_after_time: Create after time
- created_before_time: Create before time
-
class
Meta¶ Bases:
object-
fields= ('id', 'uid', 'number')¶
-
model¶ alias of
django_dicom.models.image.Image
-
-
base_filters= {'created_after_date': <django_filters.filters.DateFilter object>, 'created_after_time': <django_filters.filters.DateFilter object>, 'created_before_date': <django_filters.filters.DateFilter object>, 'created_before_time': <django_filters.filters.DateFilter object>, 'id': <django_filters.filters.NumberFilter object>, 'number': <django_filters.filters.NumberFilter object>, 'sequence_type': <django_filters.filters.MultipleChoiceFilter object>, 'series_description': <django_filters.filters.CharFilter object>, 'series_uid': <django_filters.filters.CharFilter object>, 'uid': <django_filters.filters.CharFilter object>}¶
-
declared_filters= {'created_after_date': <django_filters.filters.DateFilter object>, 'created_after_time': <django_filters.filters.DateFilter object>, 'created_before_date': <django_filters.filters.DateFilter object>, 'created_before_time': <django_filters.filters.DateFilter object>, 'sequence_type': <django_filters.filters.MultipleChoiceFilter object>, 'series_description': <django_filters.filters.CharFilter object>, 'series_uid': <django_filters.filters.CharFilter object>}¶
django_dicom.filters.patient_filter module¶
Definition of the FilterSet subclass that will be assigned to the
PatientViewSet’s
filter_class attribute
value.
-
class
django_dicom.filters.patient_filter.PatientFilter(data=None, queryset=None, *, request=None, prefix=None)¶ Bases:
django_filters.rest_framework.filterset.FilterSetProvides filtering functionality for the
PatientViewSet.Available filters are:
- id: Primary key
- uid: Patient UID (contains, icontains, or exact)
- born_after_date: Earliest date of birth
- born_before_date: Latest date of birth
- name_prefix: Any of the existing name_prefix values in the database
- given_name: Given name value (contains, icontains, or exact)
- middle_name: Middle name value (contains, icontains, or exact)
- family_name: Family name value (contains, icontains, or exact)
- name_suffix: Any of the existing name_prefix values in the database
- sex: Any of the sex options defined in the
SexEnum - study__id: Related
StudyID
-
class
Meta¶ Bases:
object-
fields= ('id', 'uid')¶
-
model¶ alias of
django_dicom.models.patient.Patient
-
-
base_filters= {'date_of_birth': <django_filters.filters.DateFromToRangeFilter object>, 'family_name': <django_filters.filters.LookupChoiceFilter object>, 'given_name': <django_filters.filters.LookupChoiceFilter object>, 'id': <django_filters.filters.NumberFilter object>, 'middle_name': <django_filters.filters.LookupChoiceFilter object>, 'name_prefix': <django_filters.filters.AllValuesFilter object>, 'name_suffix': <django_filters.filters.AllValuesFilter object>, 'sex': <django_filters.filters.ChoiceFilter object>, 'study__id': <django_filters.filters.NumberFilter object>, 'uid': <django_filters.filters.LookupChoiceFilter object>}¶
-
declared_filters= {'date_of_birth': <django_filters.filters.DateFromToRangeFilter object>, 'family_name': <django_filters.filters.LookupChoiceFilter object>, 'given_name': <django_filters.filters.LookupChoiceFilter object>, 'middle_name': <django_filters.filters.LookupChoiceFilter object>, 'name_prefix': <django_filters.filters.AllValuesFilter object>, 'name_suffix': <django_filters.filters.AllValuesFilter object>, 'sex': <django_filters.filters.ChoiceFilter object>, 'study__id': <django_filters.filters.NumberFilter object>, 'uid': <django_filters.filters.LookupChoiceFilter object>}¶
-
filter_by_study(queryset: django.db.models.query.QuerySet, name: str, value: int) → django.db.models.query.QuerySet¶ Returns all
Patientinstances that haveSeriesinstances belonging to theStudywith the specified value as primary key.Used by
study__id.Parameters: Returns: Filtered
PatientinstancesReturn type:
django_dicom.filters.series_filter module¶
Definition of the SeriesFilter class.
-
class
django_dicom.filters.series_filter.SeriesFilter(data=None, queryset=None, *, request=None, prefix=None)¶ Bases:
django_filters.rest_framework.filterset.FilterSetProvides filtering functionality for the
SeriesViewSet.Available filters are:
- id: Primary key
- uid: Series Instance UID
- patient_id: Related
Patientinstance’s primary key - study_uid: Related
Studyinstance’suidvalue - study_description: Related
Studyinstance’sdescriptionvalue (in-icontains) - modality: Any of the values defined in
Modality - description: Series description value (contains, icontains, or exact)
- number: Series number value
- protocol_name: Protocol name value (contains)
- scanning_sequence: Any combination of the values defined in
ScanningSequence - sequence_variant: Any combination of the values defined in
SequenceVariant - echo_time:
echo_timevalue - inversion_time:
inversion_timevalue - repetition_time:
repetition_timevalue - flip_angle: Any of the existing
flip_anglein the database - date_after: Exact
datevalue - date_before: Create before date
- time_after: Create after time
- time_before: Create before time
- manufacturer: Any of the existing
manufacturerin the database - manufacturer_model_name: Any of the existing
manufacturer_model_namein the database - device_serial_number: Any of the existing
device_serial_numberin the database - institution_name: Any of the existing
institution_namein the database - pulse_sequence_name:
pulse_sequence_namevalue (in-icontains) - sequence_name:
sequence_namevalue (in-icontains)
-
class
Meta¶ Bases:
object-
fields= ('id', 'uid', 'number', 'patient__id')¶
-
model¶ alias of
django_dicom.models.series.Series
-
-
base_filters= {'date': <django_filters.filters.DateRangeFilter object>, 'description': <django_filters.filters.LookupChoiceFilter object>, 'device_serial_number': <django_filters.filters.AllValuesFilter object>, 'echo_time': <django_filters.filters.RangeFilter object>, 'flip_angle': <django_filters.filters.AllValuesFilter object>, 'header_fields': <django_filters.filters.CharFilter object>, 'id': <django_filters.filters.NumberFilter object>, 'institution_name': <django_filters.filters.AllValuesFilter object>, 'inversion_time': <django_filters.filters.RangeFilter object>, 'magnetic_field_strength': <django_filters.filters.AllValuesFilter object>, 'manufacturer': <django_filters.filters.AllValuesFilter object>, 'manufacturer_model_name': <django_filters.filters.AllValuesFilter object>, 'modality': <django_filters.filters.ChoiceFilter object>, 'number': <django_filters.filters.NumberFilter object>, 'patient__id': <django_filters.filters.NumberFilter object>, 'pixel_spacing': <django_filters.filters.RangeFilter object>, 'protocol_name': <django_filters.filters.CharFilter object>, 'pulse_sequence_name': <django_dicom.filters.utils.CharInFilter object>, 'repetition_time': <django_filters.filters.RangeFilter object>, 'scanning_sequence': <django_filters.filters.MultipleChoiceFilter object>, 'sequence_name': <django_dicom.filters.utils.CharInFilter object>, 'sequence_type': <django_filters.filters.MultipleChoiceFilter object>, 'sequence_variant': <django_filters.filters.MultipleChoiceFilter object>, 'slice_thickness': <django_filters.filters.RangeFilter object>, 'study_description': <django_dicom.filters.utils.CharInFilter object>, 'study_uid': <django_filters.filters.CharFilter object>, 'time': <django_filters.filters.TimeRangeFilter object>, 'uid': <django_filters.filters.CharFilter object>}¶
-
declared_filters= {'date': <django_filters.filters.DateRangeFilter object>, 'description': <django_filters.filters.LookupChoiceFilter object>, 'device_serial_number': <django_filters.filters.AllValuesFilter object>, 'echo_time': <django_filters.filters.RangeFilter object>, 'flip_angle': <django_filters.filters.AllValuesFilter object>, 'header_fields': <django_filters.filters.CharFilter object>, 'institution_name': <django_filters.filters.AllValuesFilter object>, 'inversion_time': <django_filters.filters.RangeFilter object>, 'magnetic_field_strength': <django_filters.filters.AllValuesFilter object>, 'manufacturer': <django_filters.filters.AllValuesFilter object>, 'manufacturer_model_name': <django_filters.filters.AllValuesFilter object>, 'modality': <django_filters.filters.ChoiceFilter object>, 'pixel_spacing': <django_filters.filters.RangeFilter object>, 'protocol_name': <django_filters.filters.CharFilter object>, 'pulse_sequence_name': <django_dicom.filters.utils.CharInFilter object>, 'repetition_time': <django_filters.filters.RangeFilter object>, 'scanning_sequence': <django_filters.filters.MultipleChoiceFilter object>, 'sequence_name': <django_dicom.filters.utils.CharInFilter object>, 'sequence_type': <django_filters.filters.MultipleChoiceFilter object>, 'sequence_variant': <django_filters.filters.MultipleChoiceFilter object>, 'slice_thickness': <django_filters.filters.RangeFilter object>, 'study_description': <django_dicom.filters.utils.CharInFilter object>, 'study_uid': <django_filters.filters.CharFilter object>, 'time': <django_filters.filters.TimeRangeFilter object>}¶
-
django_dicom.filters.series_filter.filter_array(queryset: django.db.models.query.QuerySet, field_name: str, value: list)¶ Returns an exact lookup for a PostgreSQL ArrayField.
Parameters:
-
django_dicom.filters.series_filter.filter_header(queryset: django.db.models.query.QuerySet, field_name: str, values: str)¶ Returns a desired lookup for a DicomHeader field.
Parameters:
-
django_dicom.filters.series_filter.filter_in_string(queryset: django.db.models.query.QuerySet, field_name: str, values: list)¶ Returns a in-icontains mixed lookup with ‘or’ between values for a CharField.
Parameters:
django_dicom.filters.study_filter module¶
Definition of the StudyFilter class.
-
class
django_dicom.filters.study_filter.StudyFilter(data=None, queryset=None, *, request=None, prefix=None)¶ Bases:
django_filters.rest_framework.filterset.FilterSetProvides filtering functionality for the
StudyViewSet.Available filters are:
- id: Primary key
- uid: Study instance UID
- description: Study description (contains, icontains, or exact)
- created_after_date: Create after date
- created_before_date: Create before date
- created_after_time: Create after time
- created_before_time: Create before time
-
class
Meta¶ Bases:
object-
fields= ('id',)¶
-
model¶ alias of
django_dicom.models.study.Study
-
-
base_filters= {'date': <django_filters.filters.DateFromToRangeFilter object>, 'description': <django_filters.filters.LookupChoiceFilter object>, 'id': <django_filters.filters.NumberFilter object>, 'time_after': <django_filters.filters.TimeFilter object>, 'time_before': <django_filters.filters.TimeFilter object>, 'uid': <django_filters.filters.LookupChoiceFilter object>}¶
-
declared_filters= {'date': <django_filters.filters.DateFromToRangeFilter object>, 'description': <django_filters.filters.LookupChoiceFilter object>, 'time_after': <django_filters.filters.TimeFilter object>, 'time_before': <django_filters.filters.TimeFilter object>, 'uid': <django_filters.filters.LookupChoiceFilter object>}¶