-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Hi,
I wanted to update deformation. I ran the script below in flash.wustl.edu:/mnt/donghoon_030/20170412
using JLD
using Images, Unitful, FixedSizeArrays, JLD, AxisArrays
using BlockRegistration
fnmm = "/mnt/donghoon_030/20170412/exp2_20170412" #mm `base` name without "_i"`
#### Load data
Es, cs, Qs, knots, mmis = jldopen(string(fnmm, "_", 1, ".mm"), mmaparrays=true) do file
read(file, "Es"), read(file, "cs"), read(file, "Qs"), read(file, "knots"), read(file, "mmis")
end
#### Calculate deformation (It may take several hours)
λ_old = 1e-6
λt_old = 1e-5
ap = AffinePenalty(knots, λ)
ϕs_old, penalty = fixed_λ(cs, Qs, knots, ap, λt, mmis; show_trace=true, iterations=5)
λ = 1e-7
λt = 1e-3
ϕs, penalty = fixed_λ(cs, Qs, knots, ap, λt, mmis; show_trace=true, iterations=5)
#### Optimization
ϕ_1, fval_1, fval0_1 = optimize!(ϕs, ϕs_old, ap, mmis);
ϕ_2, fval_2, fval0_2 = optimize!(ϕs, ϕs_old, ap, λt, mmis);Is this correct implementation? Should it update ϕs based on ϕs_old, ap, mmis?
I obtained this error:
julia> ϕ, fval, fval0 = optimize!(ϕ, ϕs_old, ap, mmis);
ERROR: MethodError: no method matching maxshift(::Float32)
Closest candidates are:
maxshift(::CenterIndexedArrays.CenterIndexedArray{ND<:RegisterCore.NumDenom,N,A}) at /home/donghoon/.julia/v0.5/BlockRegistration/src/RegisterCore.jl:226
maxshift{T,N}(::CachedInterpolations.CachedInterpolation{T,N,M,O}) at /home/donghoon/.julia/v0.5/BlockRegistration/src/RegisterOptimize.jl:1044
in #_optimize!#5(::Array{Any,1}, ::Function, ::RegisterOptimize.DeformOpt{Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1},Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1},RegisterPenalty.AffinePenalty{Float64,3},Array{Float32,8}}, ::Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1}, ::RegisterPenalty.AffinePenalty{Float64,3}, ::Array{Float32,8}, ::Float64, ::Int64) at /home/donghoon/.julia/v0.5/BlockRegistration/src/RegisterOptimize.jl:432
in #optimize!#4(::Float64, ::Int64, ::Array{Any,1}, ::Function, ::Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1}, ::Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1}, ::RegisterPenalty.AffinePenalty{Float64,3}, ::Array{Float32,8}) at /home/donghoon/.julia/v0.5/BlockRegistration/src/RegisterOptimize.jl:426
in optimize!(::Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1}, ::Array{RegisterDeformation.GridDeformation{Float32,3,Array{FixedSizeArrays.Vec{3,Float32},3},LinSpace{Float64}},1}, ::RegisterPenalty.AffinePenalty{Float64,3}, ::Array{Float32,8}) at /home/donghoon/.julia/v0.5/BlockRegistration/src/RegisterOptimize.jl:425Metadata
Metadata
Assignees
Labels
No labels