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

skull-stripping processing #5

Open
joellerena opened this issue Feb 18, 2019 · 8 comments
Open

skull-stripping processing #5

joellerena opened this issue Feb 18, 2019 · 8 comments

Comments

@joellerena
Copy link

joellerena commented Feb 18, 2019

Referencing from: ... to 'T1_brain_extractedBrainExtractionMask.nii.gz' file.
This file was created taking the original images from ADNI and performing a skull-stripping processing of them. We use the nibabel library to load the images. https://github.com/imatge-upc/3D-GAN-superresolution
I ask if a process was considered as indicated: http://fsl.fmrib.ox.ac.uk/fslcourse/lectures/practicals/intro2/index.html, .... try -f 0.3 -g 0.2
Thank you for your answer.

@joellerena
Copy link
Author

The steps to obtain 224x224x152:
Skull stripping is performed in all volumes and part of the background is removed. Final volumes have dimensions 224x224x152

@Dragomir2020
Copy link

I was wondering if you have any info on the number and type of GPU. Also, it would be useful to know how much GPU and CPU memory this code needs. Thanks.

@Yaqiongchai
Copy link

Yaqiongchai commented Mar 25, 2019

It is really great work! @sanchezirina
Could you possibly upload the models you trained? Or something in the checkpoints_restore_dir would be very appreciated. It keeps complaining " in restore
raise ValueError("Can't load save_path when it is None.")"

@joellerena
Copy link
Author

joellerena commented Mar 25, 2019

Thanks for your interest in the subject. I'm in a quagmire, I try to play https://github.com/imatge-upc/3D-GAN-superresolution, I get an error. I will try again with new images of ADNI with T1 and choosing sizes of 256, 256 and 184 and tesla of 1.5
I understand that the project runs on CPU, I use a ncore I9
I share the error so you can give me an idea, on page 6 of http://bit.ly/3DganRe.
I share the structure they use http://bit.ly/3Dgan I have written to the authors but they have not answered the query, I will keep waiting.

Traceback (most recent call last): File "model.py", line 502, in <module> img_height=128, img_depth=92, batch_size=1, restore=args.restore) File "model.py", line 329, in train errd, _ = session.run([d_loss, d_optim], {t_target_image: xt, t_input_gen: xgenin})
tensorflow.python.framework.errors_impl.InvalidArgumentError: Conv3DBackpropInput: Number of plans of out_backprop does not match computed: current = 0, computed = 64 [[Node: SRGAN_g / conv1-ub-subpixelnn / 1 / conv3d_transpose = Conv3DBackpropInputV2 [T = DT_FLOAT, data_format = "NDHWC", padding = "SAME", strides = [1, 2, 2, 2, 1], _device = "/ job: localhost / replica: 0 / task: 0 / device: CPU: 0"] (SRGAN_g / conv1-ub-subpixelnn / 1 / conv3d_transpose / output_shape, SRGAN_g / conv1-ub-subpixelnn / 1 / W_deconv3d / read, SRGAN_g / add-conv2)]]

Caused by op u'SRGAN_g / conv1-ub-subpixelnn / 1 / conv3d_transpose ', defined at:   File "model.py", line 502, in <module>     img_height = 128, img_depth = 92, batch_size = 1, restore = args.restore)   File "model.py", line 225, in train     feature_size = feature_size, is_train = True, reuse = False)   File "model.py", line 132, in generator     padding = 'SAME', W_init = w_init_subpixel1_last, name = 'conv1-ub-subpixelnn / 1') #cause error

I have looked for those errors and in forums they indicate to me that it is probable that the images of entrance are those that provoke them. I will download ADNI images again and I will comment on them.

The article is very good in your reading. I appreciate your comments.

@joellerena
Copy link
Author

joellerena commented Mar 28, 2019

I have downloaded new ADNI images now with Field Field Strength (tesla) = 1.5 and Matrix Z = 184
With these new images I understand that the size of the image complies with what is indicated in the code for the generation of patches line 118 onwards -dataset.py-

The new error is now in the depth.
paddepthl and paddepthr

[TL] got 33: SRGAN_d / dense2 / b: 0 (1,) /home/terranostra/3D-GAN-superresolution-master/dataset.py:83: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future   self.depth_patch + self.margin, 1]) Traceback (most recent call last):   File "model.py", line 502, in <module>     img_height = 128, img_depth = 92, batch_size = 1, restore = args.restore)   File "model.py", line 306, in train     xm_total = traindataset.mask (i)   File "/home/terranostra/3D-GAN-superresolution-master/dataset.py", line 57, in mask     'constant', constant_values ​​= 0)   File "/home/terranostra/anaconda2/lib/python2.7/site-packages/numpy/lib/arraypad.py", line 1318, in pad     pad_width = _validate_lengths (narray, pad_width)   File "/home/terranostra/anaconda2/lib/python2.7/site-packages/numpy/lib/arraypad.py", line 1109, in _validate_lengths     raise ValueError (fmt% (number_elements,)) ValueError: [(36, 36), (0, 0), (-36, -36)] can not contain negative values.

@joellerena
Copy link
Author

joellerena commented Mar 30, 2019

[TL] got 33: SRGAN_d/dense2/b:0 (1,)
<class 'nibabel.nifti1.Nifti1Image'>
data shape (184, 256, 256)

...
dim : [ 3 184 256 256 1 1 1 1]
....

Traceback (most recent call last):
  File "model.py", line 502, in <module>
    img_height=128, img_depth=92, batch_size=1, restore=args.restore)
  File "model.py", line 305, in train
    xt_total = traindataset.patches_true(i)
  File "/home/terranostra/3D-GAN-superresolution-master/dataset.py", line 90, in patches_true
    subjects_true = self.data_true(iteration)
  File "/home/terranostra/3D-GAN-superresolution-master/dataset.py", line 154, in data_true
    subjects[i] = data_padded[16:240, 16:240, 16:168]  # remove background
ValueError: could not broadcast input array from shape (168,224,152) into shape (224,224,152)
terranostra@terranostra:~/3D-GAN-superresolution-master$ 

Finding 256-256-184 images was better, showed an error of (36,36), (0,0), (- 36, -36) with the negative numbers, it was solved with changing shape [0], with the shape [2] that are depth, vertical and horizontal in data shape (184, 256, 256)
Now an error is shown when changing the shape, I must find the code that affects that change.
ValueError: could not broadcast input array from shape (168,224,152) into shape (224,224,152)

http://bit.ly/3DganNew
All the work: http://bit.ly/3Dgan

@joellerena
Copy link
Author

joellerena commented Apr 8, 2019

I get the following error with nn:


Traceback (most recent call last):
  File "model.py", line 505, in <module>
    img_height=128, img_depth=92, batch_size=1, restore=args.restore)
  File "model.py", line 332, in train
    errd, _ = session.run([d_loss, d_optim], {t_target_image: xt, t_input_gen: xgenin})
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 889, in run
    run_metadata_ptr)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1120, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1317, in _do_run
    options, run_metadata)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 1336, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Incompatible shapes: [0,1] vs. [2,1]
	 [[Node: sub_1 = Sub[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](SRGAN_d_1/dense2/add, random_uniform_1)]]

Caused by op u'sub_1', defined at:
  File "model.py", line 505, in <module>
    img_height=128, img_depth=92, batch_size=1, restore=args.restore)
  File "model.py", line 251, in train
    d_loss_fake = tf.reduce_mean(tf.square(disc_out_fake - smooth_gan_labels(y_gan_fake)),
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/math_ops.py", line 894, in binary_op_wrapper
    return func(x, y, name=name)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/gen_math_ops.py", line 4636, in _sub
    "Sub", x=x, y=y, name=name)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
    op_def=op_def)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2956, in create_op
    op_def=op_def)
  File "/home/terranostra/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1470, in __init__
    self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access

InvalidArgumentError (see above for traceback): Incompatible shapes: [0,1] vs. [2,1]
	 [[Node: sub_1 = Sub[T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"](SRGAN_d_1/dense2/add, random_uniform_1)]]

@joellerena
Copy link
Author

It works, thanks.

Figure_1

Figure_2

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

3 participants