def test_dcmread_get_dcmdir_qt(self): dirpath = dcmr.get_dcmdir_qt() #self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dirpath) self.data3d = reader.get_3Ddata() self.metadata = reader.get_metaData()
def test_dcmread_select_series(self): #dirpath = dcmr.get_dcmdir_qt() dirpath = '/home/mjirik/data/medical/data_orig/46328096/' #dirpath = dcmr.get_dcmdir_qt() #app = QMainWindow() reader = dcmr.DicomReader(dirpath, series_number = 55555)#, #qt_app =app) #app.exit() self.data3d = reader.get_3Ddata() self.metadata = reader.get_metaData()
def test_dcmread_isbweb_phalanx1(self): # dirpath = dcmr.get_dcmdir_qt() dirpath = '~/data/medical/orig/isbweb/phalanx1/' # dirpath = dcmr.get_dcmdir_qt() # app = QMainWindow() reader = dcmr.DicomReader(dirpath) # , #qt_app =app) # app.exit() self.data3d = reader.get_3Ddata() self.metadata = reader.get_metaData()
def test_dcmread_piglets(self): # dirpath = dcmr.get_dcmdir_qt() dirpath = '~/data/medical/orig/piglets/P02/PRIVATE_MI_LIVER_CORROSIVE_(ADULT)_20131022_075148_171000/VEN_ABDOMEN_5_0_B31S_0002/' # dirpath = dcmr.get_dcmdir_qt() # app = QMainWindow() reader = dcmr.DicomReader(dirpath) # , #qt_app =app) # app.exit() self.data3d = reader.get_3Ddata() self.metadata = reader.get_metaData()
def test_dcmread_series_number(self): dcmdir = lisa.dataset.join_sdp('jatra_5mm') #dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' #self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) # spravne cislo serie je 7 reader = dcmr.DicomReader(dcmdir,series_number = 7) data3d = reader.get_3Ddata() metadata = reader.get_metaData() self.assertEqual(data3d.shape[2],512) self.assertEqual(metadata['voxelsize_mm'][0],5)
def test_dcmread_select_series_reasmusplus(self): # dirpath = dcmr.get_dcmdir_qt() dirpath = '~/data/medical/orig/erazmusplus/44204675/' # dirpath = dcmr.get_dcmdir_qt() # app = QMainWindow() reader = dcmr.DicomReader(dirpath, series_number=55555) # , #qt_app =app) # app.exit() self.data3d = reader.get_3Ddata() self.metadata = reader.get_metaData()
def test_dcmread(self): dcmdir = lisa.dataset.join_sdp('jatra_5mm') #dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' #self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir) data3d = reader.get_3Ddata() metadata = reader.get_metaData() #slice size is 512x512 self.assertEqual(data3d.shape[2],512) # voxelsize depth = 5 mm self.assertEqual(metadata['voxelsize_mm'][0],5)
def test_DicomReader_overlay(self): # import matplotlib.pyplot as plt dcmdir = os.path.join(sample_data_path, '../sample_data/volumetrie/') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' # self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir) overlay = reader.get_overlay() # import pdb; pdb.set_trace() # plt.imshow(overlay[1][:,:,0]) # plt.show() self.assertEqual(overlay[1][0, 200, 200], 1) self.assertEqual(overlay[1][0, 100, 100], 0)
def test_dcmread_not_defined_slice_width(self): # app = QApplication(sys.argv) # dirpath = dcmr.get_dcmdir_qt() dirpath = 'e:/data/medical/orig/chk/83674597/' dirpath = 'e:/data/medical/orig/chk/84490561/' # dirpath = dcmr.get_dcmdir_qt() # app = QMainWindow() reader = dcmr.DicomReader( dirpath, # qt_app=app, series_number=8, ) # , #qt_app =app) # app.exit() self.data3d = reader.get_3Ddata() self.metadata = reader.get_metaData() sz = self.data3d.shape print(sz)
def test_DicomReader_overlay(self): import os.path as op # sample_data_path = "~/data/medical/orig/sample_data/" # sample_data_path = op.expanduser(sample_data_path) sample_data_path = io3d.datasets.join_path("sample_data/") #import matplotlib.pyplot as plt # dcmdir = lisa.dataset.join_sdp('volumetrie/') dcmdir = os.path.join(sample_data_path, 'volumetrie/') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' #self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir) overlay = reader.get_overlay() #import pdb; pdb.set_trace() #plt.imshow(overlay[1][:,:,0]) #plt.show() self.assertEqual(overlay[1][0, 200, 200], 1) self.assertEqual(overlay[1][0, 100, 100], 0)
def test_dcmread(self): dcmdir = os.path.join(sample_data_path, '../sample_data/jatra_5mm') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' # self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir) data3d = reader.get_3Ddata() metadata = reader.get_metaData() stats = reader.dcmdirstats() info_str = reader.print_series_info(stats, minimal_series_number=0) # slice size is 512x512 self.assertEqual(data3d.shape[2], 512) # voxelsize depth = 5 mm self.assertEqual(metadata['voxelsize_mm'][0], 5) # test stats self.assertEqual(stats[7]['Modality'], 'CT') self.assertTrue(info_str, '7 (93, CT, DE_Abdom_1F 5.0 B30f M_0.3, )\n')
def test_dcmread_micro_ct_biodur_sample(self): # TODO prepare dataset for this test # there was problem with DICOMDIR file dcmdir = io3d.datasets.join_path("sample_data/biodur_sample/") reader = dcmr.DicomReader(dcmdir, force_create_dicomdir=True) data3d = reader.get_3Ddata() metadata = reader.get_metaData() stats = reader.dcmdirstats() info_str = reader.print_series_info(stats, minimal_series_number=0) # slice size is 512x512 self.assertEqual(data3d.shape[2], 512) # voxelsize depth = 5 mm self.assertEqual(metadata['voxelsize_mm'][0], 5) # test stats self.assertEqual(stats[7]['Modality'], 'CT') self.assertTrue(info_str, '7 (93, CT, DE_Abdom_1F 5.0 B30f M_0.3, )\n')
def test_compare_dcmread_and_dataread(self): # dcmdir = os.path.join(path_to_script, '../vincentka_2013_06mm/') dcmdir = op.join(sample_data_path, 'vincentka_sample/') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' # self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir) data3d = reader.get_3Ddata() # metadata = reader.get_metaData() # import sed3 # ed = sed3.sed3(data3d) # ed.show() import io3d dr = io3d.datareader.DataReader() datap = dr.Get3DData(dcmdir, dataplus_format=True) ddata3d = datap['data3d'] # import sed3 # ed = sed3.sed3(ddata3d) # ed.show() self.assertEqual(0, np.sum(np.abs(ddata3d - data3d)))
def test_dcmread_some_strange_data(self): # there was problem with DICOMDIR file dcmdir = "e:\\data\\medical\\orig\\chk\\84490561\\" # os.path.join(sample_data_path, '../sample_data/jatra_5mm') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' # self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir, force_create_dicomdir=False, series_number=10) data3d = reader.get_3Ddata() metadata = reader.get_metaData() stats = reader.dcmdirstats() info_str = reader.print_series_info(stats, minimal_series_number=0) # slice size is 512x512 self.assertEqual(data3d.shape[2], 512) # voxelsize depth = 5 mm self.assertEqual(metadata['voxelsize_mm'][0], 5) # test stats self.assertEqual(stats[7]['Modality'], 'CT')
def test_dcmread_micro_ct(self): # there was problem with DICOMDIR file dcmdir = "e:\\data\\medical\\orig\\jatra_mikro_data\\Nejlepsi_rozliseni_nevycistene\\" # os.path.join(sample_data_path, '../sample_data/jatra_5mm') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' # self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir, force_create_dicomdir=True) data3d = reader.get_3Ddata() metadata = reader.get_metaData() stats = reader.dcmdirstats() info_str = reader.print_series_info(stats, minimal_series_number=0) # slice size is 512x512 self.assertEqual(data3d.shape[2], 512) # voxelsize depth = 5 mm self.assertEqual(metadata['voxelsize_mm'][0], 5) # test stats self.assertEqual(stats[7]['Modality'], 'CT') self.assertTrue(info_str, '7 (93, CT, DE_Abdom_1F 5.0 B30f M_0.3, )\n')
def test_dcmread_perfusion_data_with_strange_serieses(self): # there was problem with DICOMDIR file dcmdir = alternative_data_path + "perfusion\\32584640\\" # os.path.join(sample_data_path, '../sample_data/jatra_5mm') # dcmdir = '/home/mjirik/data/medical/data_orig/jatra-kma/jatra_5mm/' # self.data3d, self.metadata = dcmr.dcm_read_from_dir(self.dcmdir) reader = dcmr.DicomReader(dcmdir, force_create_dicomdir=True, series_number=17) data3d = reader.get_3Ddata() metadata = reader.get_metaData() stats = reader.dcmdirstats() info_str = reader.print_series_info(stats, minimal_series_number=0) # import sed3 # ed = sed3.sed3(data3d) # ed.show() # slice size is 512x512 self.assertEqual(data3d.shape[2], 512) # voxelsize depth = 5 mm self.assertLess(data3d[0, 0, 0], -1000) # in the middle of image should be density higher than 50 self.assertGreater(np.max(data3d[:, 100:-100, 100:-100]), 50)