diff --git a/atlas/filters.py b/atlas/filters.py index 175420f8..4e1b0610 100755 --- a/atlas/filters.py +++ b/atlas/filters.py @@ -25,6 +25,7 @@ def get_authors(request): return queryset + def get_cases(request): if request is None: return Case.objects.none() @@ -36,6 +37,7 @@ def get_cases(request): return queryset + def get_series(request): if request is None: return Series.objects.none() @@ -47,6 +49,7 @@ def get_series(request): return queryset + class CaseCollectionFilter(django_filters.FilterSet): author = django_filters.ModelMultipleChoiceFilter( queryset=get_authors, null_label="No author" @@ -72,12 +75,15 @@ class CaseCollectionFilter(django_filters.FilterSet): request=None, ): if not request.user.groups.filter(name="atlas_editor").exists(): - queryset = queryset.prefetch_related("author").filter(author__id=request.user.id) + queryset = queryset.prefetch_related("author").filter( + author__id=request.user.id + ) super(CaseCollectionFilter, self).__init__( data=data, queryset=queryset, prefix=prefix, request=request ) pass + class CaseFilter(django_filters.FilterSet): author = django_filters.ModelMultipleChoiceFilter( queryset=get_authors, null_label="No author" @@ -111,7 +117,9 @@ class CaseFilter(django_filters.FilterSet): request=None, ): if not request.user.groups.filter(name="atlas_editor").exists(): - queryset = queryset.prefetch_related("author").filter(author__id=request.user.id) + queryset = queryset.prefetch_related("author").filter( + author__id=request.user.id + ) super(CaseFilter, self).__init__( data=data, queryset=queryset, prefix=prefix, request=request ) @@ -151,7 +159,14 @@ class SeriesFilter(django_filters.FilterSet): class ConditionFilter(django_filters.FilterSet): class Meta: model = Condition - fields = {"name": ["contains"], "primary": ["exact"], "synonym": ["exact"], "parent": ["exact"], "subspecialty": ["exact"]} + fields = { + "name": ["icontains"], + "primary": ["exact"], + "synonym": ["exact"], + "parent": ["exact"], + "subspecialty": ["exact"], + "rcr_curriculum": ["exact"], + } def __init__( self, diff --git a/atlas/templates/atlas/condition_detail.html b/atlas/templates/atlas/condition_detail.html index 06eebda3..6c1630de 100755 --- a/atlas/templates/atlas/condition_detail.html +++ b/atlas/templates/atlas/condition_detail.html @@ -15,7 +15,7 @@

Name: {{condition.name}}

Primary name: {{condition.primary}}
- Synonyms:fyi + Synonyms: {% for syn in condition.synonym.all %} {{syn}} {% endfor %}
diff --git a/helpers/images.py b/helpers/images.py index 6a1e1a14..d37ec5d2 100644 --- a/helpers/images.py +++ b/helpers/images.py @@ -159,6 +159,7 @@ def get_image_dicom_hash(img, dataset=None) -> (str, bool): if dataset is None: dataset = pydicom.dcmread(img) + # TODO: improve? md5 = hashlib.md5() first = True for i in dataset.pixel_array.astype(str).flatten(): @@ -177,24 +178,7 @@ def get_image_hash(img) -> (str, bool): hash = "1234" try: # and generate a hash from the pixel data - # TODO: improve? - dataset = pydicom.dcmread(img) - # flatten = dataset.pixel_array.astype(str).flatten() - # print("flatteded") - # pre_join = ",".join(flatten) - # print(pre_join) - # hash = hashlib.md5(pre_join.encode()).hexdigest() - # ---- - md5 = hashlib.md5() - first = True - for i in dataset.pixel_array.astype(str).flatten(): - if first: - first = False - md5.update(f"{i}".encode()) - else: - md5.update(f",{i}".encode()) - - hash = md5.hexdigest() + hash = get_image_dicom_hash(img) is_dicom = True # ---- diff --git a/requirements.txt b/requirements.txt index b9ed83eb..593eb29c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -36,4 +36,5 @@ git+https://github.com/jazzband/django-cookie-consent#django-cookie-consent django-crispy-forms django-ninja crispy-bootstrap4 -django-rich \ No newline at end of file +django-rich +ipython \ No newline at end of file