Exemplo n.º 1
0
def construct_demo_data():
    # because of windows we have to manage temp file ourselves
    temp = tempfile.NamedTemporaryFile(mode="ab+", delete=False)

    try:
        # counts distinct field values
        cnt = gem.LabelCounter()
        # holds names for the gziped files
        filename_iterator = ("MG_%03i.dcm.gz" % i for i in count(1))
        objects_inside = 0
        with open('demo_data.pkl', 'rb') as inp:
            dataset = pickle.load(inp)
            for data in dataset.values():
                for d in data:
                    d = gem.DicomObject(
                        tensor=d['tensor'],
                        labels=['modality', 'bpe', 'studydes', 'seriesdes'],
                        label_values=[
                            d['modality'], d['bpe'], d['studydes'],
                            d['seriesdes']
                        ])

                    gem.os.io.pickle.dump(d, temp)

        temp.flush()
        zip_to_file(temp, next(filename_iterator))
    finally:
        temp.close()
        os.remove(temp.name)
    return cnt
Exemplo n.º 2
0
 def test_update_on_dimcom(self):
     data = gem.load_dicom(raw_dicom_file_path)
     ctr = gem.LabelCounter()
     ctr.update(data.get('Modality'))
     self.assertEqual(ctr.dic[data.get('Modality')], 1)
     ctr.update(data.get('Modality'))
     ctr.update(data.get('Modality'))
     self.assertEqual(ctr.dic[data.get('Modality')], 3)
Exemplo n.º 3
0
 def test_update_on_gemicai_dicom_object(self):
     iterator = gem.PickledDicomoDataSet(dicom_data_set, ['Modality'])
     data = next(iter(iterator))
     ctr = gem.LabelCounter()
     ctr.update(data[1])
     self.assertEqual(ctr.dic[data[1]], 1)
     ctr.update(data[1])
     ctr.update(data[1])
     self.assertEqual(ctr.dic[data[1]], 3)
Exemplo n.º 4
0
 def test_update_correct_param(self):
     ctr = gem.LabelCounter()
     ctr.update('z')
     self.assertEqual(ctr.dic['z'], 1)
     ctr.update('z')
     ctr.update('z')
     self.assertEqual(ctr.dic['z'], 3)
     ctr.update('m')
     self.assertEqual(ctr.dic['z'], 3)
     self.assertEqual(ctr.dic['m'], 1)
Exemplo n.º 5
0
 def test_update_nested_correct_param(self):
     ctr = gem.LabelCounter()
     ctr.update([[['z']], ['k'], 'o'])
     self.assertEqual(ctr.dic['z'], 1)
     self.assertEqual(ctr.dic['k'], 1)
     self.assertEqual(ctr.dic['o'], 1)
Exemplo n.º 6
0
 def test_update_wrong_param_type(self):
     ctr = gem.LabelCounter()
     with self.assertRaises(TypeError):
         ctr.update(dict())
Exemplo n.º 7
0
 def test__str__(self):
     ctr = gem.LabelCounter()
     temp_1 = str(ctr)
     ctr.update(['z'])
     temp_2 = str(ctr)
     self.assertNotEqual(temp_1, temp_2)