You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I want to extract 3D patches with shape is 32x32x32 from a 3D input. I have given example of loads images from directory and gets shapes of image axes. Please let me know how to extract 3D patches samples from this input
`
from medpy.io import load
import numpy as np
import os
import h5py
data_path = ../....
for i in range(10):
subject_name = 'subject-%d-' % i
f = os.path.join(data_path, subject_name + 'C.hdr')
img, header = load(f)
inputs = img.astype(np.float32)
A = inputs.shape[0] #142
B = inputs.shape[1] # 176
C = inputs.shape[2] # 181
D = np.arange(A*B*C).reshape(A,B,C)
print (D.shape)
`
How could I use the function to create patches with size of 32x32x32 from this input? Please reply.. Thanks
The text was updated successfully, but these errors were encountered:
Well, extracting patches should be quite straight forward with numpy (remember: each image returned by medpy is, in fact, a numpy array).
You must first consider how to treat incomplete patches. The image won't always have dimension that are multiples of 32 (e.g., shape=363636). What do you do then? You must decide either to accept smaller left-over patches (e.g., shape=444). Or, alternatively, you can pad the patches. Or, third option, cropthe images to a size that is a multiple of 32 in all dimensions.
Next, should the patches be overlapping? And if yes, how far?
Medpy provides a few patch iterators for special cases: http://loli.github.io/medpy/iterators.html
For you, the CentredPatchIterator might be interesting: equally sized patches, automatically padded and non-overlapping. Us eit like
for patch i CentredPatchIterator(image, (32,32,32), cval=0):
do_something_with_patch()
I hope I could be of help. If you have further questions, please write directly to my email, since the issue tracker is intended for bugs only.
I want to extract 3D patches with shape is 32x32x32 from a 3D input. I have given example of loads images from directory and gets shapes of image axes. Please let me know how to extract 3D patches samples from this input
`
from medpy.io import load
import numpy as np
import os
import h5py
data_path = ../....
for i in range(10):
`
How could I use the function to create patches with size of 32x32x32 from this input? Please reply.. Thanks
The text was updated successfully, but these errors were encountered: