Mercurial > hg > orthanc-tests
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) |