Incorrectly displays modulus data when labelled as imaginary. Problem is with 'abs' in:
show_3D_array(abs(image_array[1::2,:,:])
Appears to reconstruct 3D data, but fails in show_3D_array:
sirfuser@ubuntu-xenial:~/CCP-Elba$ python /home/sirfuser/devel/buildVM/sources/SIRF/examples/Python/MR/Gadgetron/fully_sampled_recon_single_chain.py -f m3d.h5 -o m3d_out.h5 -p .
Input stream has terminated
Traceback (most recent call last):
File "/home/sirfuser/devel/buildVM/sources/SIRF/examples/Python/MR/Gadgetron/fully_sampled_recon_single_chain.py", line 118, in
main()
File "/home/sirfuser/devel/buildVM/sources/SIRF/examples/Python/MR/Gadgetron/fully_sampled_recon_single_chain.py", line 99, in main
show = False)
File "/home/sirfuser/devel/install/python/pUtilities.py", line 138, in show_3D_array
rows = int(round(math.sqrt(n*nx/ny)))
ZeroDivisionError: integer division or modulo by zero
When applied to our dataset 'simulated_MR_2D_cartesian.h5', it labels output images as two slices, but I believe they are 2 repetitions of one slice.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
I do not have siemens_to_ismrmrd - can you not just let me have m3d.h5?
By the way, what makes you think the reconstruction succeeded? Can you print image_data.number() and image_data.norm()? image_array.shape is clearly wrong as show_3D_array found that ny = image_array.shape[1] = 0.
So you suggest to have 'slice with 3rd dimension index 1' or 'slice with ind3 = 1' instead of 'slice 1'? The former is too long and the latter rather cryptic, are they not?
@ckolbPTB: any ideas?
@KrisThielemans: I suggest we have a discussion on this on a Friday tcon, and for the time being shift it to milestone 1.2.
for the data, you have siemens_to_ismrmrd on the VM. would that be ok?
let's definitely discuss, but I suppose that the data issue needs to be fixed before the course. can just as well adjust the plot then?
found a bug in image read from file, now reads ok
however, gadgetrton sometimes crashes with the message:
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorGadgetron::bad_alloc >'
what(): x
in fact, it was this crash that caused zero ny and hence division by zero in show_3D_array
crash might be due to insufficient memory on VM - the raw data size is 1.3G
an annoying thing is that the crash happens on the server and the client does not know about it
how much memory does your VM have? (check in Machine Settings in the VB interface). If you have spare, try to increase it (shutdown VM, change memory, start it).
on laptop i use VM with 4096MB, which leaves me with about 3GB free memory
tried 8192MB VM on desktop, ran 6 times - no crashes, so must be the VM memory issue
btw, implemented empty-chain connection check, now have correct error traceback (to Reconstructor.process) and more useful message, @DANAJK please try again on m3d.h5
Closed #167.