korbinian90 / ROMEO

Executables for ROMEO unwrapping for Linux, Windows and Mac OSX
40 stars 0 forks source link

ReadOnlyMemoryError() #1

Closed layerfMRI closed 4 years ago

layerfMRI commented 4 years ago

Thanks for sharing the Unwrapping software @korbinian90,

I would love to try it on my NeuroDebian installation on my 0.2mm FLASH data. Unfortunately, I get the error below: I used it like this: romeo -m manitude.nii -o outputname.nii phasedata.nii can you point me to any documentation of romeo's usage? Do you have example data that I could use to see if the installation worked correctly?

Thanks a lot. Renzo

ERROR: ReadOnlyMemoryError() Stacktrace: [1] setindex! at ./array.jl:825 [inlined] [2] setindex! at ./subarray.jl:289 [inlined] [3] _setindex! at ./abstractarray.jl:1096 [inlined] [4] setindex! at ./abstractarray.jl:1073 [inlined] [5] macro expansion at ./broadcast.jl:910 [inlined] [6] macro expansion at ./simdloop.jl:77 [inlined] [7] copyto! at ./broadcast.jl:909 [inlined] [8] copyto! at ./broadcast.jl:864 [inlined] [9] materialize!(::SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true}, ::Base.Broadcast.Broadcasted{Base.Broadcast.DefaultArrayStyle{3},Nothing,typeof(*),Tuple{SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true},BitArray{3}}}) at ./broadcast.jl:823 [10] parsekwargs(::Base.Iterators.Pairs{Symbol,AbstractArray{T,3} where T,Tuple{Symbol,Symbol},NamedTuple{(:mag, :mask),Tuple{SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true},BitArray{3}}}}, ::Array{Float32,3}) at /home/korbinian90/.julia/dev/ROMEO/src/weights.jl:104 [11] calculateweights_romeo(::Array{Float32,3}, ::Int64, ::BitArray{1}, ::Type{UInt8}; kwargs::Base.Iterators.Pairs{Symbol,AbstractArray{T,3} where T,Tuple{Symbol,Symbol},NamedTuple{(:mag, :mask),Tuple{SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true},BitArray{3}}}}) at /home/korbinian90/.julia/dev/ROMEO/src/weights.jl:45 [12] calculateweights_romeo(::Array{Float32,3}, ::Symbol, ::Int64; kwargs::Base.Iterators.Pairs{Symbol,AbstractArray{T,3} where T,Tuple{Symbol,Symbol},NamedTuple{(:mag, :mask),Tuple{SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true},BitArray{3}}}}) at /home/korbinian90/.julia/dev/ROMEO/src/weights.jl:41 [13] calculateweights(::Array{Float32,3}, ::Symbol, ::Int64; kwargs::Base.Iterators.Pairs{Symbol,AbstractArray{T,3} where T,Tuple{Symbol,Symbol},NamedTuple{(:mag, :mask),Tuple{SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true},BitArray{3}}}}) at /home/korbinian90/.julia/dev/ROMEO/src/weights.jl:21 [14] unwrap!(::Array{Float32,3}; weights::Symbol, keyargs::Base.Iterators.Pairs{Symbol,AbstractArray{T,3} where T,Tuple{Symbol,Symbol},NamedTuple{(:mag, :mask),Tuple{SubArray{Int16,3,Array{Int16,4},Tuple{Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Base.Slice{Base.OneTo{Int64}},Int64},true},BitArray{3}}}}) at /home/korbinian90/.julia/dev/ROMEO/src/unwrapping.jl:4 [15] unwrapping_main(::Array{String,1}) at /home/korbinian90/.julia/dev/RomeoApp/src/caller.jl:72 [16] julia_main() at /home/korbinian90/.julia/dev/RomeoApp/src/RomeoApp.jl:14 [17] julia_main() at ./none:29

korbinian90 commented 4 years ago

Thank you for trying it and and reporting the bug! It should be fixed now. I uploaded a new release v1.4.1.

The usage is correct. I am adding a documentation today and I can upload a sample data set as well.

layerfMRI commented 4 years ago

Thanks a lot. This solved it. I am looking forward to the publication and the documentation to benefit from all its capabilities.