def test_luna3d_2(): image_dir = utils.get_dir_path('analysis', pathfinder.METADATA_PATH) image_dir = image_dir + '/test_luna/' utils.auto_make_dir(image_dir) id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = [ '/mnt/sda3/data/kaggle-lung/luna_test_patient/1.3.6.1.4.1.14519.5.2.1.6279.6001.943403138251347598519939390311.mhd'] for k, p in enumerate(luna_data_paths): id = os.path.basename(p).replace('.mhd', '') print id img, origin, pixel_spacing = utils_lung.read_mhd(p) lung_mask = lung_segmentation.segment_HU_scan(img) annotations = id2zyxd[id] x, annotations_tf, tf_matrix, lung_mask_out = data_transforms.transform_scan3d(data=img, pixel_spacing=pixel_spacing, p_transform=p_transform, luna_annotations=annotations, p_transform_augment=None, luna_origin=origin, lung_mask=lung_mask, world_coord_system=True) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') for zyxd in annotations_tf: plot_slice_3d_3(x, lung_mask_out, y, 0, id, idx=zyxd) plot_slice_3d_3(x, lung_mask_out, y, 1, id, idx=zyxd) plot_slice_3d_3(x, lung_mask_out, y, 2, id, idx=zyxd)
def count_proportion(): id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = utils_lung.get_patient_data_paths( pathfinder.LUNA_DATA_PATH) luna_data_paths = [p for p in luna_data_paths if '.mhd' in p] n_white = 0 n_black = 0 for k, p in enumerate(luna_data_paths): img, origin, pixel_spacing = utils_lung.read_mhd(p) img = data_transforms.hu2normHU(img) id = os.path.basename(p).replace('.mhd', '') print id annotations = id2zyxd[id] img_out, annotations_out = data_transforms.transform_scan3d( img, pixel_spacing=pixel_spacing, p_transform=config().p_transform, p_transform_augment=None, # config().p_transform_augment, luna_annotations=annotations, luna_origin=origin) mask = data_transforms.make_3d_mask_from_annotations(img_out.shape, annotations_out, shape='sphere') n_white += np.sum(mask) n_black += mask.shape[0] * mask.shape[1] * mask.shape[2] - np.sum(mask) print 'white', n_white print 'black', n_black
def count_proportion(): id2zyxd = utils_lung.read_luna_annotations(pathfinder.LUNA_LABELS_PATH) luna_data_paths = utils_lung.get_patient_data_paths(pathfinder.LUNA_DATA_PATH) luna_data_paths = [p for p in luna_data_paths if '.mhd' in p] n_white = 0 n_black = 0 for k, p in enumerate(luna_data_paths): img, origin, pixel_spacing = utils_lung.read_mhd(p) img = data_transforms.hu2normHU(img) id = os.path.basename(p).replace('.mhd', '') print id annotations = id2zyxd[id] img_out, annotations_out = data_transforms.transform_scan3d(img, pixel_spacing=pixel_spacing, p_transform=config().p_transform, p_transform_augment=None, # config().p_transform_augment, luna_annotations=annotations, luna_origin=origin) mask = data_transforms.make_3d_mask_from_annotations(img_out.shape, annotations_out, shape='sphere') n_white += np.sum(mask) n_black += mask.shape[0] * mask.shape[1] * mask.shape[2] - np.sum(mask) print 'white', n_white print 'black', n_black
def data_prep_function(data, patch_center, luna_annotations, pixel_spacing, luna_origin, p_transform, p_transform_augment, **kwargs): x, patch_annotation_tf, annotations_tf = data_transforms.transform_patch3d(data=data, luna_annotations=luna_annotations, patch_center=patch_center, p_transform=p_transform, p_transform_augment=p_transform_augment, pixel_spacing=pixel_spacing, luna_origin=luna_origin) x = data_transforms.pixelnormHU(x) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') return x, y
def data_prep_function(data, patch_center, luna_annotations, pixel_spacing, luna_origin, p_transform, p_transform_augment, **kwargs): x, patch_annotation_tf, annotations_tf = data_transforms.transform_patch3d(data=data, luna_annotations=luna_annotations, patch_center=patch_center, p_transform=p_transform, p_transform_augment=p_transform_augment, pixel_spacing=pixel_spacing, luna_origin=luna_origin) x = data_transforms.hu2normHU(x) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') return x, y
def data_prep_function(data, luna_annotations, pixel_spacing, luna_origin, p_transform=p_transform, p_transform_augment=None): # make sure the data is processed the same way x, annotations_tf, tf_matrix = data_transforms.transform_scan3d(data=data, pixel_spacing=pixel_spacing, p_transform=p_transform, luna_annotations=luna_annotations, p_transform_augment=None, luna_origin=luna_origin) x = data_transforms.pixelnormHU(x) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') return x, y, annotations_tf, tf_matrix
def data_prep_function(data, luna_annotations, pixel_spacing, luna_origin, p_transform=p_transform, p_transform_augment=None): # MAKE SURE THAT DATA IS PREPROCESSED THE SAME WAY x, annotations_tf, tf_matrix = data_transforms.transform_scan3d(data=data, pixel_spacing=pixel_spacing, p_transform=p_transform, luna_annotations=luna_annotations, p_transform_augment=None, luna_origin=luna_origin) x = data_transforms.hu2normHU(x) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') return x, y, annotations_tf, tf_matrix
def data_prep_function(data, luna_annotations, pixel_spacing, luna_origin, p_transform=p_transform, p_transform_augment=None): # make sure the data is processed the same way x, annotations_tf, tf_matrix = data_transforms.transform_scan3d(data=data, pixel_spacing=pixel_spacing, p_transform=p_transform, luna_annotations=luna_annotations, p_transform_augment=None, luna_origin=luna_origin) x = data_transforms.hu2normHU(x) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') return x, y, annotations_tf, tf_matrix
def data_prep_function(data, luna_annotations, pixel_spacing, luna_origin, p_transform=p_transform, p_transform_augment=None): # make sure the data is processed the same way lung_mask = lung_segmentation.segment_HU_scan_frederic(data) x, annotations_tf, tf_matrix, lung_mask_out = data_transforms.transform_scan3d(data=data, pixel_spacing=pixel_spacing, p_transform=p_transform, luna_annotations=luna_annotations, p_transform_augment=None, luna_origin=luna_origin, lung_mask=lung_mask) x = data_transforms.pixelnormHU(x) y = data_transforms.make_3d_mask_from_annotations(img_shape=x.shape, annotations=annotations_tf, shape='sphere') return x, y, lung_mask_out, annotations_tf, tf_matrix