MCPcopy Index your code
hub / github.com/Project-MONAI/MONAI / create_transform_im

Function create_transform_im

monai/transforms/utils_create_transform_ims.py:413–463  ·  view source on GitHub ↗

Create an image with the before and after of the transform. Also update the transform's documentation to point to this image.

(
    transform, transform_args, data, ndim=3, colorbar=False, update_doc=True, seed=0, is_post=False
)

Source from the content-addressed store, hash-verified

411
412
413def create_transform_im(
414 transform, transform_args, data, ndim=3, colorbar=False, update_doc=True, seed=0, is_post=False
415):
416 """Create an image with the before and after of the transform.
417 Also update the transform's documentation to point to this image."""
418
419 transform = transform(**transform_args)
420
421 if not has_matplotlib:
422 raise RuntimeError
423
424 if isinstance(transform, Randomizable):
425 # increment the seed for map transforms so they're different to the array versions.
426 seed = seed + 1 if isinstance(transform, MapTransform) else seed
427 transform.set_random_state(seed)
428
429 out_dir = MONAIEnvVars.doc_images()
430 if out_dir is None:
431 raise RuntimeError(
432 "Please git clone https://github.com/Project-MONAI/DocImages"
433 + " and then set the environment variable `MONAI_DOC_IMAGES`"
434 )
435 out_dir = os.path.join(out_dir, "transforms")
436
437 # Path is transform name
438 transform_name = transform.__class__.__name__
439 out_fname = transform_name + ".png"
440 out_file = os.path.join(out_dir, out_fname)
441
442 is_map = isinstance(transform, MapTransform)
443 data_in = pre_process_data(deepcopy(data), ndim, is_map, is_post)
444
445 data_tr = transform(deepcopy(data_in))
446
447 images_before, before_shape = get_images(data_in)
448 images_after, after_shape = get_images(data_tr)
449 images = (images_before, images_after)
450 shapes = (before_shape, after_shape)
451
452 labels = None
453 if is_map:
454 labels_before, *_ = get_images(data_in, is_label=True)
455 labels_after, *_ = get_images(data_tr, is_label=True)
456 labels = (labels_before, labels_after)
457
458 save_image(images, labels, out_file, transform_name, transform_args, shapes, colorbar)
459
460 if update_doc:
461 base_dir = pathlib.Path(__file__).parent.parent.parent
462 rst_path = os.path.join(base_dir, "docs", "source", "transforms.rst")
463 update_docstring(rst_path, transform_name)
464
465
466if __name__ == "__main__":

Callers 1

Calls 6

pre_process_dataFunction · 0.85
get_imagesFunction · 0.85
save_imageFunction · 0.85
update_docstringFunction · 0.85
doc_imagesMethod · 0.80
set_random_stateMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…