tutorials icon indicating copy to clipboard operation
tutorials copied to clipboard

numpy.linalg.LinAlgError: Matrix is not positive definite

Open buhsratayyaba opened this issue 1 year ago • 2 comments

what is this error about? I am getting this error while performing resampling over skull-striped MRI. the code is following:

import monai
import numpy as np
from monai.transforms import LoadImage, Spacing, Compose

# Set the file path to your medical image
image_file_path = r"D:\dataset\01_brainMaskedByDL.nii"

# Use MONAI's LoadImage transform to load the image
loader = LoadImage(image_only=True)
image = loader(image_file_path)

# Print information about the original image
print("Original image shape:", image.shape)
# print("Original image spacing:", loader.metadata["spacing"])


# Set the target spacing for reslicing along the axial dimension
target_spacing = (1.5, 1.5, 3.0)  # Adjust these values according to your requirements

# Use MONAI's Spacing transform for reslicing
reslicer = Spacing(target_spacing, mode="bilinear")
resliced_image = reslicer(image)

# Print information about the resliced image
print("Resliced image shape:", resliced_image.shape)
# print("Resliced image spacing:", reslicer.metadata["spacing"])

# Optionally, you can visualize the original and resliced images
import matplotlib.pyplot as plt

# Plot a single slice from the axial dimension for both the original and resliced images
original_slice = image[image.shape[0] // 2, :, :]
resliced_slice = resliced_image[resliced_image.shape[0] // 2, :, :]

plt.subplot(1, 2, 1)
plt.imshow(original_slice, cmap="gray")
plt.title("Original Image (Axial Slice)")

plt.subplot(1, 2, 2)
plt.imshow(resliced_slice, cmap="gray")
plt.title("Resliced Image (Axial Slice)")

plt.show()

buhsratayyaba avatar Feb 01 '24 11:02 buhsratayyaba