comparison Plugins/DicomWeb/Run.py @ 259:298f80c6ccc4

test_qido_parent_attributes
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 07 Jan 2020 19:22:25 +0100
parents 24e5c8ca9440
children 943166deebcb
comparison
equal deleted inserted replaced
258:770963295925 259:298f80c6ccc4
886 'Uri' : '%s/rendered' % path 886 'Uri' : '%s/rendered' % path
887 }) 887 })
888 888
889 self.assertEqual(len(frame1), len(defaultFrame)) 889 self.assertEqual(len(frame1), len(defaultFrame))
890 self.assertEqual(frame1, defaultFrame) 890 self.assertEqual(frame1, defaultFrame)
891
892
893 def test_qido_parent_attributes(self):
894 UploadInstance(ORTHANC, 'Brainix/Flair/IM-0001-0001.dcm')
895 study = '2.16.840.1.113669.632.20.1211.10000357775'
896 series = '1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114285654497'
897 instance = '1.3.46.670589.11.0.0.11.4.2.0.8743.5.5396.2006120114314079549'
898
899 a = DoGet(ORTHANC, '/dicom-web/studies')
900 self.assertEqual(1, len(a))
901 self.assertFalse('00080018' in a[0]) # SOPInstanceUID
902 self.assertFalse('0020000E' in a[0]) # SeriesInstanceUID
903 self.assertEqual(study, a[0]['0020000D']['Value'][0])
904 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
905
906 a = DoGet(ORTHANC, '/dicom-web/studies?0020000D=%s' % study)
907 self.assertEqual(1, len(a))
908 self.assertFalse('00080018' in a[0]) # SOPInstanceUID
909 self.assertFalse('0020000E' in a[0]) # SeriesInstanceUID
910 self.assertEqual(study, a[0]['0020000D']['Value'][0])
911 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
912
913 a = DoGet(ORTHANC, '/dicom-web/series')
914 self.assertEqual(1, len(a))
915 self.assertFalse('00080018' in a[0])
916 self.assertEqual(study, a[0]['0020000D']['Value'][0])
917 self.assertEqual(series, a[0]['0020000E']['Value'][0])
918 self.assertEqual('MR', a[0]['00080060']['Value'][0])
919 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
920
921 a = DoGet(ORTHANC, '/dicom-web/instances')
922 self.assertEqual(1, len(a))
923 self.assertEqual(study, a[0]['0020000D']['Value'][0])
924 self.assertEqual(series, a[0]['0020000E']['Value'][0])
925 self.assertEqual(instance, a[0]['00080018']['Value'][0])
926 self.assertEqual('MR', a[0]['00080060']['Value'][0])
927 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
928
929 a = DoGet(ORTHANC, '/dicom-web/studies/%s/series' % study)
930 self.assertEqual(1, len(a))
931 self.assertFalse('00080018' in a[0])
932 self.assertEqual(study, a[0]['0020000D']['Value'][0])
933 self.assertEqual(series, a[0]['0020000E']['Value'][0])
934 self.assertEqual('MR', a[0]['00080060']['Value'][0])
935 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
936
937 a = DoGet(ORTHANC, '/dicom-web/studies/%s/series/%s/instances' % (study, series))
938 self.assertEqual(1, len(a))
939 self.assertEqual(study, a[0]['0020000D']['Value'][0])
940 self.assertEqual(series, a[0]['0020000E']['Value'][0])
941 self.assertEqual(instance, a[0]['00080018']['Value'][0])
942 self.assertEqual('MR', a[0]['00080060']['Value'][0])
943 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
944
945 # "If {StudyInstanceUID} is not specified, all Study-level
946 # attributes specified in Table 6.7.1-2" => Here,
947 # {StudyInstanceUID} *is* specified, so we must *not* get the
948 # PatientName.
949 # http://dicom.nema.org/medical/dicom/2019a/output/html/part18.html#table_6.7.1-2a
950 a = DoGet(ORTHANC, '/dicom-web/series?0020000D=%s' % study)
951 self.assertEqual(1, len(a))
952 self.assertFalse('00100010' in a[0]) # PatientName
953 self.assertEqual(study, a[0]['0020000D']['Value'][0])
954 self.assertEqual(series, a[0]['0020000E']['Value'][0])
955 self.assertEqual('MR', a[0]['00080060']['Value'][0])
956
957 # http://dicom.nema.org/medical/dicom/2019a/output/html/part18.html#table_6.7.1-2b
958 a = DoGet(ORTHANC, '/dicom-web/instances?0020000D=%s' % study)
959 self.assertEqual(1, len(a))
960 self.assertFalse('00100010' in a[0]) # PatientName
961 self.assertEqual(study, a[0]['0020000D']['Value'][0])
962 self.assertEqual(series, a[0]['0020000E']['Value'][0])
963 self.assertEqual('MR', a[0]['00080060']['Value'][0])
964
965 a = DoGet(ORTHANC, '/dicom-web/instances?0020000E=%s' % series)
966 self.assertEqual(1, len(a))
967 self.assertFalse('00080060' in a[0]) # Modality
968 self.assertEqual(study, a[0]['0020000D']['Value'][0])
969 self.assertEqual(series, a[0]['0020000E']['Value'][0])
970 self.assertEqual('BRAINIX', a[0]['00100010']['Value'][0]['Alphabetic'])
971
972 a = DoGet(ORTHANC, '/dicom-web/instances?0020000D=%s&0020000E=%s' % (study, series))
973 self.assertEqual(1, len(a))
974 self.assertFalse('00100010' in a[0]) # PatientName
975 self.assertFalse('00080060' in a[0]) # Modality
976 self.assertEqual(study, a[0]['0020000D']['Value'][0])
977 self.assertEqual(series, a[0]['0020000E']['Value'][0])
891 978
892 979
893 try: 980 try:
894 print('\nStarting the tests...') 981 print('\nStarting the tests...')
895 unittest.main(argv = [ sys.argv[0] ] + args.options) 982 unittest.main(argv = [ sys.argv[0] ] + args.options)