From cc8e069fead5ba2cc67cfc1c6fcefbf6f67d573f Mon Sep 17 00:00:00 2001 From: Nic Ma Date: Fri, 19 Nov 2021 23:31:59 +0800 Subject: [PATCH] [DLMED] add frame_dim Signed-off-by: Nic Ma --- monai/visualize/utils.py | 5 +++++ tests/test_matshow3d.py | 2 +- tests/testing_data/matshow3d_test.png | Bin 28028 -> 19202 bytes 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/monai/visualize/utils.py b/monai/visualize/utils.py index 0a985c0c21..22f09ed163 100644 --- a/monai/visualize/utils.py +++ b/monai/visualize/utils.py @@ -32,6 +32,7 @@ def matshow3d( title: Optional[str] = None, figsize=(10, 10), frames_per_row: Optional[int] = None, + frame_dim: int = -3, vmin=None, vmax=None, every_n: int = 1, @@ -53,6 +54,8 @@ def matshow3d( title: title of the figure. figsize: size of the figure. frames_per_row: number of frames to display in each row. If None, sqrt(firstdim) will be used. + frame_dim: for higher dimensional arrays, which dimension (`-1`, `-2`, `-3`) is moved to the `-3` + dim and reshape to (-1, H, W) shape to construct frames, default to `-3`. vmin: `vmin` for the matplotlib `imshow`. vmax: `vmax` for the matplotlib `imshow`. every_n: factor to subsample the frames so that only every n-th frame is displayed. @@ -95,6 +98,8 @@ def matshow3d( else: # ndarray while len(vol.shape) < 3: vol = np.expand_dims(vol, 0) # so that we display 1d and 2d as well + + vol = np.moveaxis(vol, frame_dim, -3) # move the expected dim to construct frames with `B` or `C` dims if len(vol.shape) > 3: vol = vol.reshape((-1, vol.shape[-2], vol.shape[-1])) vmin = np.nanmin(vol) if vmin is None else vmin diff --git a/tests/test_matshow3d.py b/tests/test_matshow3d.py index 6be0938e8b..fa834ca431 100644 --- a/tests/test_matshow3d.py +++ b/tests/test_matshow3d.py @@ -34,7 +34,7 @@ def test_3d(self): ims = xforms({keys: image_path}) fig = pyplot.figure() # external figure - fig, _ = matshow3d(ims[keys], fig=fig, figsize=(2, 2), frames_per_row=5, every_n=2, show=False) + fig, _ = matshow3d(ims[keys], fig=fig, figsize=(2, 2), frames_per_row=5, every_n=2, frame_dim=-1, show=False) with tempfile.TemporaryDirectory() as tempdir: tempimg = f"{tempdir}/matshow3d_test.png" diff --git a/tests/testing_data/matshow3d_test.png b/tests/testing_data/matshow3d_test.png index 789c1a5ac8c0f39de085f8a70b69e83558053745..d720a0c40713fd144956f04ec10a2cd2942a3492 100644 GIT binary patch literal 19202 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 Q|ETtPxcE5NIEJPF2Wg&>rT_o{ literal 28028 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 WtH$h4o~SRO0Tg6ap_S6cf&T};z1@HS