mirzaevinom / prostate_segmentation Goto Github PK
View Code? Open in Web Editor NEWNCI-ISBI 2013 Challenge - Automated Segmentation of Prostate Structures
NCI-ISBI 2013 Challenge - Automated Segmentation of Prostate Structures
@PeterXiaoGuo @mirzaevinom
Sir, I am finding it difficult to initiate the code in the GitHub for the prostate segmentation for python-3.
Can you provide me the train.py which you have manipulated for your desktop for python-3?
Like I have made changes which u suggested as follows-
Help would be appreciated.
Hi Inom,
I read your this tutorial and it looks like more efficient.
I put data folders as you mentioned on homepage and it throws an error:
**
IndexError: index 22 is out of bounds for axis 0 with size 22
**
Dimension mismatch for ProstateDx-01-0055 in folder train
96 96
Traceback (most recent call last):
File "train.py", line 190, in <module>
n_imgs=15*10**4, batch_size=32)
File "train.py", line 124, in keras_fit_generator
dicom_to_array(img_rows, img_cols)
File "train.py", line 66, in dicom_to_array
imgs[int(filename[:-4])] = img
IndexError: index 22 is out of bounds for axis 0 with size 22
does it results from the data read?
I try int(filename[:-4] in both python 2 and python 3 and cannot figure out what does it mean here.
I guess this error results from here?
Another problem is that I put all .dcm files for every patient. I'm not sure whether just only 1 .dcm for patient is used in this tutorial.
I also tried put only 1 .dcm file with each patient, but it throws much more error:
Dimension mismatch for ProstateDx-01-0042 in folder train
Dimension mismatch for ProstateDx-01-0023 in folder train
Dimension mismatch for Prostate3T-01-0003 in folder train
Dimension mismatch for Prostate3T-01-0006 in folder train
Dimension mismatch for Prostate3T-01-0015 in folder train
Dimension mismatch for Prostate3T-01-0005 in folder train
Dimension mismatch for Prostate3T-01-0004 in folder train
Dimension mismatch for ProstateDx-01-0043 in folder train
Dimension mismatch for Prostate3T-01-0010 in folder train
Dimension mismatch for ProstateDx-01-0019 in folder train
Dimension mismatch for Prostate3T-01-0026 in folder train
Dimension mismatch for ProstateDx-01-0006 in folder train
Dimension mismatch for ProstateDx-01-0005 in folder train
Dimension mismatch for ProstateDx-01-0044 in folder train
Dimension mismatch for ProstateDx-01-0011 in folder train
Dimension mismatch for Prostate3T-01-0001 in folder train
Dimension mismatch for Prostate3T-01-0025 in folder train
Dimension mismatch for ProstateDx-01-0054 in folder train
Dimension mismatch for Prostate3T-01-0019 in folder train
Dimension mismatch for Prostate3T-01-0020 in folder train
Dimension mismatch for ProstateDx-01-0060 in folder train
Dimension mismatch for ProstateDx-01-0076 in folder train
Dimension mismatch for ProstateDx-01-0001 in folder train
Dimension mismatch for Prostate3T-01-0030 in folder train
Dimension mismatch for Prostate3T-01-0028 in folder train
Dimension mismatch for ProstateDx-01-0073 in folder train
Dimension mismatch for Prostate3T-01-0024 in folder train
Dimension mismatch for ProstateDx-01-0014 in folder train
Dimension mismatch for Prostate3T-01-0008 in folder train
Dimension mismatch for Prostate3T-01-0016 in folder train
Dimension mismatch for ProstateDx-01-0063 in folder train
Dimension mismatch for ProstateDx-01-0055 in folder train
Dimension mismatch for ProstateDx-01-0038 in folder train
Dimension mismatch for ProstateDx-01-0052 in folder train
Dimension mismatch for Prostate3T-01-0017 in folder train
Dimension mismatch for ProstateDx-01-0035 in folder train
Dimension mismatch for ProstateDx-01-0082 in folder train
Dimension mismatch for Prostate3T-01-0014 in folder train
Dimension mismatch for ProstateDx-01-0071 in folder train
Dimension mismatch for ProstateDx-01-0058 in folder train
Dimension mismatch for ProstateDx-01-0075 in folder train
Dimension mismatch for ProstateDx-01-0021 in folder train
Dimension mismatch for Prostate3T-01-0002 in folder train
Dimension mismatch for ProstateDx-01-0080 in folder train
Dimension mismatch for ProstateDx-01-0028 in folder train
Dimension mismatch for ProstateDx-01-0074 in folder train
Dimension mismatch for ProstateDx-01-0056 in folder train
Dimension mismatch for ProstateDx-01-0059 in folder train
Dimension mismatch for Prostate3T-01-0022 in folder train
Dimension mismatch for Prostate3T-01-0021 in folder train
Dimension mismatch for Prostate3T-01-0013 in folder train
Dimension mismatch for Prostate3T-01-0009 in folder train
Dimension mismatch for Prostate3T-01-0007 in folder train
Dimension mismatch for Prostate3T-01-0029 in folder train
Dimension mismatch for ProstateDx-01-0013 in folder train
Dimension mismatch for Prostate3T-01-0023 in folder train
Dimension mismatch for Prostate3T-01-0018 in folder train
Dimension mismatch for Prostate3T-01-0012 in folder train
Dimension mismatch for Prostate3T-01-0027 in folder train
Dimension mismatch for Prostate3T-01-0011 in folder train
Traceback (most recent call last):
File "train.py", line 190, in <module>
n_imgs=15*10**4, batch_size=32)
File "train.py", line 124, in keras_fit_generator
dicom_to_array(img_rows, img_cols)
File "train.py", line 93, in dicom_to_array
imgs = np.concatenate(imgs, axis=0).reshape(-1, img_rows, img_cols, 1)
ValueError: need at least one array to concatenate
I guess all .dcm files are needed and the error results from numpy array shape when reading images, but feel puzzled on it.
Could you please give some advice?
Thank you very much!
Best,
Peter
Hello there,
first time commenting on a repo here, so if this is not the right place to do so please let me know.
Okay, so what I was aiming to do is to score a picture of my own database with your model and see how it performs:
I got my image from one of the patients in the ProstateX challenge. (link http://www.spie.org/PROSTATEx/)
Here I selected an image in the transversal plane of the prostate of a patient, by inspection you could see that it was similar to the test cases your showed in the README.md.
After loading your model and the associated weights I started to prep my own input image.
First load it, then rescale it to (1, 96, 96, 1) and use the model.predict() function to generate an output.
However, was a matrix consisting of mainly zeroes, no segmentation to be found!
So to be sure that the model worked, I copied, cut and pasted your example images, loaded them in Python, scaled it to (1, 96, 96, 1) and gave it to the model:
Et Voila, a well formed output just as given in your README file.
Conclusion... the model that I loaded with the weights works. But somehow my image is not working properly.
Thinking about my image format, I tried the following techniques
all with no satisfactory result...
Is this a sign that the model has overfit? Am I doing something wrong? Any other cause?? Am I using the right input? (I am just starting with all this medical data, so I cant 'read' those MRI images properly..)
PS, this is the code that I used...
model = simple_unet(96, 96)
model.load_weights(r'..\simple_unet_weights.h5')
a1 = Image.open(r'..\my_example.jpg').convert('LA')
a1 = np.array(a1)[:,:,0]
plt.imshow(a1, cmap=plt.cm.gray)
plt.show()
b1 = skimage.transform.resize(a1, (96, 96))
b1 = b1/np.max(b1)
plt.imshow(b1, cmap=plt.cm.gray)
plt.show()
plt.hist(b1.ravel())
plt.show()
c1 = np.reshape(b1, (1,96,96,1))
res_c1 = model.predict(c1)
res_d1 = np.reshape(res_c1, (96,96))
plt.imshow(res_d1, cmap=plt.cm.gray)
plt.show()
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.