Open gkowalski opened 1 day ago
Interesting . I've verified by pulling down this same accession that all the images and SR have SOPClassUID in them ( Im using HOROS tool to download them ) . But in PACS it shows that there are 278 things in this accession. But when I pull them down I only get 276 actual DICOM objects of various SOPClassUID's . I'm wondering if HOROS is just dropping those other objects on the request to download.
ok , as a test I set the Storage classes permitted to only have one :
CT Image Storage | 1.2.840.10008.5.1.4.1.1.1.2
Now it gets past the initial error and get :
2024-09-23 14:06:16,581 ERROR GetStudyUIDHierarchies controller.project.get_study_uid_hierarchy.1550 Unable to retrieve UID Hierarchy for reliable import operation via DICOM C-MOVE. QUERY Server did not return the number of instances in a series. Standard DICOM field (0020,1209) NumberOfSeriesRelatedInstances is missing in the query response.
Any way of playing with the tags it's expecting to see , or have it at least ignore them ?
Please check the dataset metadata in the DICOM file header, it must have a SOPClassUID element with a valid value for it to be a valid DICOM file.
You can use dcmdump (or DICOM viewer with metadata function) to see the header
On Mon, 23 Sept 2024 at 20:48, George Kowalski @.***> wrote:
Trying to download various Accessions and the query works , but the "Import and Anonymize" always errors out with a no attribute 'SOPClassUID' error. Any ideas where to look :
2024-09-23 13:40:49,825 DEBUG GetStudyUIDHierarchies pydicom.data_element_generator.215 000000c2: 31 20 b'1 ' 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2069 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2070 # Response Identifier 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0008,0052) CS [SERIES] # 1 QueryRetrieveLevel 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0008,0054) AE [ALI_QUERY_SCP] # 1 RetrieveAETitle 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0008,0060) CS [DX] # 1 Modality 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0008,103E) LO [LAT] # 1 SeriesDescription 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0020,000D) UI [1.2.840.114350.2.35.2.798268.2.474531864.1] # 1 StudyInstanceUID 2024-09-23 13:40:49,826 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0020,000E) UI [1.2.392.200046.100.14.46852710304164419972798132664950223240] # 1 SeriesInstanceUID 2024-09-23 13:40:49,827 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0020,0011) IS [3] # 1 SeriesNumber 2024-09-23 13:40:49,827 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2072 (0020,1209) IS [1] # 1 NumberOfSeriesRelatedInstances 2024-09-23 13:40:49,827 INFO GetStudyUIDHierarchies pynetdicom.association._wrap_find_responses.2073 2024-09-23 13:40:49,827 ERROR GetStudyUIDHierarchies controller.project.get_study_uid_hierarchy.1550 'Dataset' object has no attribute 'SOPClassUID' 2024-09-23 13:40:49,827 DEBUG Thread-9 (run_reactor) pynetdicom.dsutils.decode.114 pydicom.read_dataset() TransferSyntax="Little Endian Implicit"```
— Reply to this email directly, view it on GitHub https://github.com/RSNA/anonymizer/issues/11, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIXFID45HLQMJOD3F3DRGTZYBO6FAVCNFSM6AAAAABOWV3REKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU2DGMZZGQZDGMI . You are receiving this because you are subscribed to this thread.Message ID: @.***>
-- Michael Evans DX.LIFE (Pty) Ltd. +27 72 584 6989
Try using a different Move level using the drop down box next to the Import & Anonymizer button
For explanation of C-MOVE issues please refer to documentation
On Mon, 23 Sept 2024 at 21:10, George Kowalski @.***> wrote:
ok , as a test I set the SStorage class to only have :
CT Image Storage | 1.2.840.10008.5.1.4.1.1.1.2
Now it gets past the initial error and get :
2024-09-23 14:06:16,581 ERROR GetStudyUIDHierarchies controller.project.get_study_uid_hierarchy.1550 Unable to retrieve UID Hierarchy for reliable import operation via DICOM C-MOVE. QUERY Server did not return the number of instances in a series. Standard DICOM field (0020,1209) NumberOfSeriesRelatedInstances is missing in the query response.
Any way of playing with the tags it's expecting to see , or have it at least ignore them ?
— Reply to this email directly, view it on GitHub https://github.com/RSNA/anonymizer/issues/11#issuecomment-2369144812, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIXFIFZQU4QA7OYTNYLVCTZYBRTXAVCNFSM6AAAAABOWV3REKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZGE2DIOBRGI . You are receiving this because you are subscribed to this thread.Message ID: @.***>
-- Michael Evans DX.LIFE (Pty) Ltd. +27 72 584 6989
Which server are you querying?
On Mon, 23 Sept 2024 at 21:13, Michael Evans @.***> wrote:
Try using a different Move level using the drop down box next to the Import & Anonymizer button
For explanation of C-MOVE issues please refer to documentation
On Mon, 23 Sept 2024 at 21:10, George Kowalski @.***> wrote:
ok , as a test I set the SStorage class to only have :
CT Image Storage | 1.2.840.10008.5.1.4.1.1.1.2
Now it gets past the initial error and get :
2024-09-23 14:06:16,581 ERROR GetStudyUIDHierarchies controller.project.get_study_uid_hierarchy.1550 Unable to retrieve UID Hierarchy for reliable import operation via DICOM C-MOVE. QUERY Server did not return the number of instances in a series. Standard DICOM field (0020,1209) NumberOfSeriesRelatedInstances is missing in the query response.
Any way of playing with the tags it's expecting to see , or have it at least ignore them ?
— Reply to this email directly, view it on GitHub https://github.com/RSNA/anonymizer/issues/11#issuecomment-2369144812, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIXFIFZQU4QA7OYTNYLVCTZYBRTXAVCNFSM6AAAAABOWV3REKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZGE2DIOBRGI . You are receiving this because you are subscribed to this thread.Message ID: @.***>
-- Michael Evans DX.LIFE (Pty) Ltd. +27 72 584 6989
-- Michael Evans DX.LIFE (Pty) Ltd. +27 72 584 6989
They could possibly be presentation objects or similar, when you do the Query, what do you see next to this study in the column: "Modalities" next to "Accession No." column?
On Mon, 23 Sept 2024 at 21:03, George Kowalski @.***> wrote:
Interesting . I've verified by pulling down this same accession that all the images and SR have SOPClassUID in them ( Im using HOROS tool to download them ) . But in PACS it shows that there are 278 things in this accession. But when I pull them down I only get 276 actual DICOM objects of various SOPClassUID's . I'm wondering if HOROS is just dropping those other objects on the request to download.
— Reply to this email directly, view it on GitHub https://github.com/RSNA/anonymizer/issues/11#issuecomment-2369129607, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIXFIFE6NYRMTKGA44EAVLZYBQZVAVCNFSM6AAAAABOWV3REKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZGEZDSNRQG4 . You are receiving this because you are subscribed to this thread.Message ID: @.***>
-- Michael Evans DX.LIFE (Pty) Ltd. +27 72 584 6989
So I tried :
at least importing from the filesystem works . I will try downloading the same accession with horos, then importing the same data set with anonymizer
Well Import of those same images shows that some were QUARANTINE'ed . Dumped one
dcmdump IM-0003-0001.dcm
# Dicom-File-Format
# Dicom-Meta-Information-Header
# Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 212 # 4, 1 FileMetaInformationGroupLength
(0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion
(0002,0002) UI =KeyObjectSelectionDocumentStorage # 30, 1 MediaStorageSOPClassUID
(0002,0003) UI [1.2.840.113711.97687293.4.37484.747694861.365657005.125803] # 58, 1 MediaStorageSOPInstanceUID
(0002,0010) UI =LittleEndianExplicit # 20, 1 TransferSyntaxUID
(0002,0012) UI [1.2.276.0.7238010.5.0.3.5.4] # 28, 1 ImplementationClassUID
(0002,0013) SH [OSIRIX] # 6, 1 ImplementationVersionName
(0002,0016) AE [MCW_SCU] # 8, 1 SourceApplicationEntityTitle
# Dicom-Data-Set
# Used TransferSyntax: Little Endian Explicit
(0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet
(0008,0016) UI =KeyObjectSelectionDocumentStorage # 30, 1 SOPClassUID
ok m that's a wierd SOPClassUID .
Please can you send me a few sample files to analyze
On Mon, 23 Sept 2024 at 22:17, George Kowalski @.***> wrote:
Well Import of those same images shows that some were QUARANTINE'ed . Dumped one
dcmdump IM-0003-0001.dcm
Dicom-File-Format
Dicom-Meta-Information-Header
Used TransferSyntax: Little Endian Explicit
(0002,0000) UL 212 # 4, 1 FileMetaInformationGroupLength (0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion (0002,0002) UI =KeyObjectSelectionDocumentStorage # 30, 1 MediaStorageSOPClassUID (0002,0003) UI [1.2.840.113711.97687293.4.37484.747694861.365657005.125803] # 58, 1 MediaStorageSOPInstanceUID (0002,0010) UI =LittleEndianExplicit # 20, 1 TransferSyntaxUID (0002,0012) UI [1.2.276.0.7238010.5.0.3.5.4] # 28, 1 ImplementationClassUID (0002,0013) SH [OSIRIX] # 6, 1 ImplementationVersionName (0002,0016) AE [MCW_SCU] # 8, 1 SourceApplicationEntityTitle
Dicom-Data-Set
Used TransferSyntax: Little Endian Explicit
(0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet (0008,0016) UI =KeyObjectSelectionDocumentStorage # 30, 1 SOPClassUID
ok m that's a wierd SOPClassUID .
— Reply to this email directly, view it on GitHub https://github.com/RSNA/anonymizer/issues/11#issuecomment-2369291663, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABIXFIATVIH7XUCNZGIMMYLZYBZPNAVCNFSM6AAAAABOWV3REKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNRZGI4TCNRWGM . You are receiving this because you commented.Message ID: @.***>
-- Michael Evans DX.LIFE (Pty) Ltd. +27 72 584 6989
Trying to download various Accessions and the query works , but the "Import and Anonymize" always errors out with a no attribute 'SOPClassUID' error. Any ideas where to look :