Skip to content

Commit

Permalink
Merge pull request #25 from BrainLesion/23-feature-request-glioma-seg…
Browse files Browse the repository at this point in the history
…mentation-tutorial-with-brats-toolkit

23-feature-request-glioma-segmentation-tutorial-with-brats-toolkit
  • Loading branch information
neuronflow authored Feb 16, 2024
2 parents a8d82ef + 2d77c55 commit d9be5c0
Show file tree
Hide file tree
Showing 108 changed files with 2,704 additions and 211 deletions.
3 changes: 3 additions & 0 deletions BraTS-Toolkit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@

# Preprocessing tutorials
This folder contains tutorials for the [BraTS Toolkit package](https://github.com/neuronflow/BraTS-Toolkit). Please have a look at the Jupyter notebooks.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
2,577 changes: 2,577 additions & 0 deletions BraTS-Toolkit/glioma_segmentation_with_BraTS_Toolkit.ipynb

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions BraTS-Toolkit/temporary_directory/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!.gitignore
43 changes: 43 additions & 0 deletions BraTS-Toolkit/utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
import os
import matplotlib.pyplot as plt
import nibabel as nib

DATA_FOLDER = "data"


def visualize_data(data_folder: str = DATA_FOLDER, slice_index: int = 75):
"""Visualize the MRI modalities for a given slice index
Args:
data_folder (str, optional): Path to the folder containing the t1, t1c, t2 & flair file. Defaults to DATA_FOLDER.
slice_index (int, optional): Slice to be visualized (first index in data of shape (155, 240, 240)). Defaults to 75.
"""
_, axes = plt.subplots(1, 4, figsize=(12, 10))

modalities = ["t1", "t1c", "t2", "flair"]
for i, mod in enumerate(modalities):
modality_file = os.path.join(data_folder, f"{mod}.nii.gz")
modality_np = nib.load(modality_file).get_fdata().transpose(2, 1, 0)
axes[i].set_title(mod)
axes[i].imshow(modality_np[slice_index, :, :], cmap="gray")
axes[i].axis("off")


def visualize_segmentation(modality_file: str, segmentation_file: str):
"""Visualize the MRI modality and the segmentation
Args:
modality_file (str): Path to the desired modality file
segmentation_file (str): Path to the segmentation file
"""
modality_np = nib.load(modality_file).get_fdata().transpose(2, 1, 0)
seg_np = nib.load(segmentation_file).get_fdata().transpose(2, 1, 0)
_, ax = plt.subplots(1, 2, figsize=(8, 4))

slice_index = modality_np.shape[0] // 2 # You can choose any slice here
ax[0].imshow(modality_np[slice_index, :, :], cmap="gray")
ax[1].imshow(modality_np[slice_index, :, :], cmap="gray")
ax[1].imshow(seg_np[slice_index, :, :], cmap="plasma", alpha=0.3)
for ax in ax:
ax.axis("off")
plt.tight_layout()
Binary file not shown.
Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.

This file was deleted.

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading

0 comments on commit d9be5c0

Please sign in to comment.