Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

numpy.linalg.LinAlgError: Matrix is not positive definite #1629

Open
buhsratayyaba opened this issue Feb 1, 2024 · 0 comments
Open

numpy.linalg.LinAlgError: Matrix is not positive definite #1629

buhsratayyaba opened this issue Feb 1, 2024 · 0 comments

Comments

@buhsratayyaba
Copy link

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()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant