timholy / QuadDIRECT.jl

Global optimization without derivatives
Other
51 stars 7 forks source link

Rare error #8

Closed Cody-G closed 5 years ago

Cody-G commented 6 years ago

I've only encountered this once so far, and unfortunately it was running on random data that I didn't save. I'll try not to lose the data next time it happens. The optimization-related parameters (parameter bounds, splits, minwidth, etc) did not change in this failed run compared to the usual successful run, so I think it may be a bug.

Initial minimum (19 evaluations): Box0.03352276410807345@[1.1, -0.1, 0.1, NaN, NaN, NaN, NaN, NaN, NaN]
minimum (119 evaluations): Box0.019930717930956916@[1.06667, -0.0833333, 0.0666667, 0.0245361, 0.989182, 0.0364623, -0.0333333, -0.0423546, 1.04768]
minimum (241 evaluations): Box0.016516068505890567@[1.0, -0.0833333, 0.0583333, 0.1, 0.989359, -0.00621134, -0.027465, -0.0333333, 1.06667]
minimum (355 evaluations): Box0.014130808229284883@[1.0, -0.0833333, 0.0333333, 0.1, 0.992486, 0.0666667, -0.025785, -0.0444444, 1.04723]
minimum (487 evaluations): Box0.014125953707331995@[1.00318, -0.0833333, 0.0333333, 0.1, 0.992486, 0.0666667, -0.025785, -0.0444444, 1.04723]
minimum (889 evaluations): Box0.0141155732594417@[1.00836, -0.0854167, 0.0312206, 0.1, 1.00019, 0.0621814, -0.0248102, -0.046735, 1.04723]
minimum (1285 evaluations): Box0.0141005358004197@[1.0098, -0.0833333, 0.0291703, 0.1, 1.0, 0.0666667, -0.0224847, -0.0475673, 1.04803]
minimum (1797 evaluations): Box0.013920055431700443@[0.998977, -0.0842023, 0.0230193, 0.1, 1.00019, 0.0621835, -0.024995, -0.047271, 1.04982]
minimum (2591 evaluations): Box0.013804513562439686@[0.99904, -0.078446, 0.0254249, 0.1, 1.00259, 0.0620615, -0.0210889, -0.0473325, 1.04987]
ERROR: LoadError: AssertionError: xsplit[1] < xsplit[2] < xsplit[3]
Stacktrace:
 [1] split_insert!(::QuadDIRECT.QmIGE{Float64,9}, ::QuadDIRECT.Box{Float64,9}, ::QuadDIRECT.Box{Float64,9}, ::UnitRange{Int64}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Int64,1},Array{Float64,2}}}, ::Array{Float64,1}, ::Float64, ::Array{Float64,1}, ::Int64, ::Array{Float64,1}, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/quadratic_model.jl:267
 [2] complete_quadratic_model!(::QuadDIRECT.QmIGE{Float64,9}, ::Float64, ::QuadDIRECT.Box{Float64,9}, ::Function, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/quadratic_model.jl:220
 [3] #analyze!#47(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Int64, ::Array{Any,1}, ::Function, ::QuadDIRECT.Box{Float64,9}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Int64,1},Array{Float64,2}}}, ::Array{Float64,1}, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:583
 [4] (::QuadDIRECT.#kw##analyze!)(::Array{Any,1}, ::QuadDIRECT.#analyze!, ::QuadDIRECT.Box{Float64,9}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Int64,1},Array{Float64,2}}}, ::Array{Float64,1}, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [5] #analyze!#46(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Array{Any,1}, ::Function, ::QuadDIRECT.Box{Float64,9}, ::RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Int64,1},Array{Float64,2}}, ::Array{Float64,1}, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:527
 [6] (::QuadDIRECT.#kw##analyze!)(::Array{Any,1}, ::QuadDIRECT.#analyze!, ::QuadDIRECT.Box{Float64,9}, ::Function, ::Array{Float64,1}, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [7] #analyze#45(::Array{Any,1}, ::Function, ::Function, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:517
 [8] (::QuadDIRECT.#kw##analyze)(::Array{Any,1}, ::QuadDIRECT.#analyze, ::Function, ::NTuple{9,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [9] #_analyze#44(::Array{Any,1}, ::Function, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:241
 [10] (::RegisterOptimize.#kw##_analyze)(::Array{Any,1}, ::RegisterOptimize.#_analyze, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [11] #qd_affine_coarse#47(::CoordinateTransformations.IdentityTransformation, ::Float64, ::Array{Float64,1}, ::Float64, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:246
 [12] (::RegisterOptimize.#kw##qd_affine_coarse)(::Array{Any,1}, ::RegisterOptimize.#qd_affine_coarse, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,2}) at ./<missing>:0
 [13] #qd_affine#63(::Float64, ::CoordinateTransformations.IdentityTransformation, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}, ::Array{Float64,2}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:275
 [14] (::RegisterOptimize.#kw##qd_affine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}, ::Array{Float64,2}, ::Array{Float64,2}) at ./<missing>:0
 [15] #qd_affine#70(::Float64, ::CoordinateTransformations.IdentityTransformation, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:294
 [16] (::RegisterOptimize.#kw##qd_affine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}) at ./<missing>:0
 [17] include_from_node1(::String) at ./loading.jl:576
 [18] include(::String) at ./sysimg.jl:14
while loading /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/test/register_affine.jl, in expression starting on line 164
Cody-G commented 6 years ago

I found another case with a different error, but I think it's related. My guess is that QuadDIRECT is trying to make splits smaller than allowable by the minwidth parameter, some kind of rounding occurs, and it ends up with duplicate evaluation points.

ERROR: LoadError: ArgumentError: xvalues must be monotonic, got [0.972852, 0.972852, 0.972852]
Stacktrace:
 [1] add_children!(::QuadDIRECT.Box{Float64,12}, ::Int64, ::QuadDIRECT.MVector3{Float64}, ::QuadDIRECT.MVector3{Float64}, ::Float64, ::Float64) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/util.jl:237
 [2] split!(::QuadDIRECT.Box{Float64,12}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}}, ::Array{Float64,1}, ::Int64, ::QuadDIRECT.MVector3{Float64}, ::Float64, ::Float64, ::Float64, ::Float64) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:60
 [3] complete_quadratic_model!(::QuadDIRECT.QmIGE{Float64,12}, ::Float64, ::QuadDIRECT.Box{Float64,12}, ::Function, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/quadratic_model.jl:139
 [4] #analyze!#47(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Int64, ::Array{Any,1}, ::Function, ::QuadDIRECT.Box{Float64,12}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:583
 [5] (::QuadDIRECT.#kw##analyze!)(::Array{Any,1}, ::QuadDIRECT.#analyze!, ::QuadDIRECT.Box{Float64,12}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [6] #analyze!#46(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Array{Any,1}, ::Function, ::QuadDIRECT.Box{Float64,12}, ::RegisterOptimize.#f#51{CoordinateTransformations.IdentityTransformation,Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:527
 [7] (::QuadDIRECT.#kw##analyze!)(::Array{Any,1}, ::QuadDIRECT.#analyze!, ::QuadDIRECT.Box{Float64,12}, ::Function, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [8] #analyze#45(::Array{Any,1}, ::Function, ::Function, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:517
 [9] (::QuadDIRECT.#kw##analyze)(::Array{Any,1}, ::QuadDIRECT.#analyze, ::Function, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [10] #_analyze#44(::Array{Any,1}, ::Function, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:241
 [11] (::RegisterOptimize.#kw##_analyze)(::Array{Any,1}, ::RegisterOptimize.#_analyze, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [12] #qd_affine_coarse#47(::CoordinateTransformations.IdentityTransformation, ::Float64, ::Array{Float64,1}, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:253
 [13] (::RegisterOptimize.#kw##qd_affine_coarse)(::Array{Any,1}, ::RegisterOptimize.#qd_affine_coarse, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,2}) at ./<missing>:0
 [14] #qd_affine#63(::Float64, ::CoordinateTransformations.IdentityTransformation, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}, ::Array{Float64,2}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:286
 [15] (::RegisterOptimize.#kw##qd_affine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}, ::Array{Float64,2}, ::Array{Float64,2}) at ./<missing>:0
 [16] #qd_affine#70(::Float64, ::CoordinateTransformations.IdentityTransformation, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:305
 [17] (::RegisterOptimize.#kw##qd_affine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}) at ./<missing>:0
 [18] include_from_node1(::String) at ./loading.jl:576
 [19] include(::String) at ./sysimg.jl:14
while loading /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/test/register_affine.jl, in expression starting on line 164
Cody-G commented 6 years ago

Here's one more, came with debugging info:

Something went wrong
numevals(f) = 35497
insrows = (0, 0)
row = 79
irow = 1
rowb = 80
rowoffset = 77
idim = 12
Q.dimpiv = [10, 6, 8, 9, 4, 2, 1, 3, 11, 12, 7, 5]
rbox.parent.splitdim = 6
box.parent.splitdim = 7
splitdim = 10
boxbounds(rbox, lower, upper) = Tuple{Float64,Float64}[(0.118023, 0.118408), (-0.126737, -0.0950527), (-0.103466, -0.103466), (1.00736, 1.025), (-0.0406665, -0.0372599), (-0.0125011, -0.012501), (0.0493623, 0.0495643), (0.991677, 0.991799), (-0.0476359, -0.0476359), (-0.00240858, -0.00240858), (0.0169229, 0.0283123), (0.998128, 0.998427)]
13×13 Array{Float64,2}:
 0.0        0.0        0.0          0.0         0.0          0.0       …   0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        0.0          0.0         0.0          0.0           0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        2.81978e-5   0.0         0.0          0.0           0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        0.0          0.878823    0.0          0.0           0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        0.0          0.0         0.00451236   0.0           0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        0.0          0.0         0.0         -0.190137  …   0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        0.0          0.0         0.0          0.0           0.0           0.0           0.0        0.0          0.0     
 0.0        0.0        0.0          0.0         0.0          0.0           0.0           0.0           0.0        0.0          0.0     
 0.0        0.0       -1.99734e-5  -0.6225     -0.00319625   0.0          -0.000119739   0.0           0.0        0.0          0.0     
 0.0        0.0       -1.40989e-5  -0.439412   -0.00225618   0.0          -8.45219e-5    0.0459965     0.0        0.0          0.0     
 0.0        0.0        0.0          0.0         0.0          0.0       …   0.0           0.0          -0.029732   0.0          0.0     
 0.0        0.0        0.0          0.0         0.0          0.0           0.0           0.0           0.0       -0.000620068  0.0     
 0.190137  -0.316899   0.548738    -4.59863   -11.5679       0.380274      3.90934      -0.000628707   0.131411  -0.00168079   0.018076
xcur = -0.002408578191640691
rbox.xvalues = [-0.00240858, -0.00240858, -0.00240858]
(rbox.xvalues .- xcur) ./ scale[splitdim] = [0.0, 1.02516e-13, 2.05032e-13]
ERROR: LoadError: AssertionError: maximum(insrows) == row
Stacktrace:
 [1] complete_quadratic_model!(::QuadDIRECT.QmIGE{Float64,12}, ::Float64, ::QuadDIRECT.Box{Float64,12}, ::Function, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/quadratic_model.jl:231
 [2] #analyze!#47(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Int64, ::Array{Any,1}, ::Function, ::QuadDIRECT.Box{Float64,12}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#60{CoordinateTransformations.AffineMap{StaticArrays.SArray{Tuple{3,3},Float64,2,9},StaticArrays.SArray{Tuple{3},Float64,1,3}},Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:583
 [3] (::QuadDIRECT.#kw##analyze!)(::Array{Any,1}, ::QuadDIRECT.#analyze!, ::QuadDIRECT.Box{Float64,12}, ::QuadDIRECT.CountedFunction{RegisterOptimize.#f#60{CoordinateTransformations.AffineMap{StaticArrays.SArray{Tuple{3,3},Float64,2,9},StaticArrays.SArray{Tuple{3},Float64,1,3}},Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [4] #analyze!#46(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Array{Any,1}, ::Function, ::QuadDIRECT.Box{Float64,12}, ::RegisterOptimize.#f#60{CoordinateTransformations.AffineMap{StaticArrays.SArray{Tuple{3,3},Float64,2,9},StaticArrays.SArray{Tuple{3},Float64,1,3}},Float64,Array{Float64,3},Array{Float64,3},Array{Float64,2}}, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:527
 [5] (::QuadDIRECT.#kw##analyze!)(::Array{Any,1}, ::QuadDIRECT.#analyze!, ::QuadDIRECT.Box{Float64,12}, ::Function, ::Array{Float64,1}, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [6] #analyze#45(::Array{Any,1}, ::Function, ::Function, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/QuadDIRECT/src/algorithm.jl:517
 [7] (::QuadDIRECT.#kw##analyze)(::Array{Any,1}, ::QuadDIRECT.#analyze, ::Function, ::NTuple{12,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [8] #_analyze#44(::Array{Any,1}, ::Function, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:232
 [9] (::RegisterOptimize.#kw##_analyze)(::Array{Any,1}, ::RegisterOptimize.#_analyze, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at ./<missing>:0
 [10] #qd_affine_fine#53(::CoordinateTransformations.AffineMap{StaticArrays.SArray{Tuple{3,3},Float64,2,9},StaticArrays.SArray{Tuple{3},Float64,1,3}}, ::Float64, ::Array{Float64,1}, ::Float64, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:264
 [11] (::RegisterOptimize.#kw##qd_affine_fine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine_fine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,2}) at ./<missing>:0
 [12] #qd_affine#63(::Float64, ::CoordinateTransformations.IdentityTransformation, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}, ::Array{Float64,2}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:281
 [13] (::RegisterOptimize.#kw##qd_affine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}, ::Array{Float64,2}, ::Array{Float64,2}) at ./<missing>:0
 [14] #qd_affine#70(::Float64, ::CoordinateTransformations.IdentityTransformation, ::Array{Any,1}, ::Function, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}) at /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/src/qd_rigid.jl:287
 [15] (::RegisterOptimize.#kw##qd_affine)(::Array{Any,1}, ::RegisterOptimize.#qd_affine, ::Array{Float64,3}, ::Array{Float64,3}, ::Array{Int64,1}, ::Array{Float64,2}) at ./<missing>:0
 [16] include_from_node1(::String) at ./loading.jl:576
 [17] include(::String) at ./sysimg.jl:14
while loading /home/cody/.julia/reg_and_seg/v0.6/BlockRegistration/test/register_affine.jl, in expression starting on line 159
ChantalJuntao commented 5 years ago

I got this error message in the middle of aligning large stack of images using the following method from qd_rigid and parameters. Looks like it's still causing problems.

fixed = imgres (a large 3D image) moving = imgres2 mxshift = (5,10,2) mxrot = (0.2,0.2,0.02) minwidth_rot = fill(0.002,3) SD =SArray{Tuple{3,3}}(ustrip.( diagm(0=>[pixelspacing(fixed)...]))) tform, mm = qd_rigid(fixed, moving, mxshift, mxrot, minwidth_rot, SD)

Running coarse step
Initial minimum (7 evaluations): Box0.006861357484012842@[0.0,0.0, 0.02]
minimum (132 evaluations): Box0.006204402074217796@[0.00469631, -2.44141e-5, 0.0111122]
minimum (241 evaluations): Box0.006106676999479532@[0.0244693,-0.0161701, -0.02]
minimum (360 evaluations): Box0.00586338946595788@[0.0262002, -0.0162539, 0.00782516]
minimum (470 evaluations): Box0.005795306991785765@[0.0244752,-0.0298042, -0.00666667]
minimum (621 evaluations): Box0.00549039151519537@[0.0189484, -0.0232244, 0.00231864]
minimum (738 evaluations): Box0.00549039151519537@[0.0189484, -0.0232244, 0.00231864]
minimum (873 evaluations): Box0.00549039151519537@[0.0189484, -0.0232244, 0.00231864]
minimum (991 evaluations): Box0.005438344087451696@[0.0189484,-0.0232244, 0.00154576]
minimum (1096 evaluations): Box0.005438344087451696@[0.0189484, -0.0232244, 0.00154576]
Final minimum (1124 evaluations): Box0.005438344087451696@[0.0189484, -0.0232244, 0.00154576]
467 evaluations for initialization+sweeps, 657 for Quasi-Newton
Running fine step
Initial minimum (13 evaluations): Box0.006228574268604794@[0.0, NaN, NaN, NaN, NaN, NaN]
minimum (108 evaluations): Box0.006216930441062142@[0.0, 0.0, 0.0, 0.0, 0.0, -0.000166667]
minimum (239 evaluations): Box0.006181420365171705@[0.0412292,-0.0019017, 0.0615021, -0.000791874, 0.0002061, -0.00119064]
minimum (423 evaluations): Box0.006181420365171705@[0.0412292,-0.0019017, 0.0615021, -0.000791874, 0.0002061, -0.00119064]
minimum (623 evaluations): Box0.006125847357140642@[0.186371, -0.0863629, 0.285181, -0.00988442, 0.0, -0.000166174]
minimum (816 evaluations): Box0.005993689004436803@[0.0471798,-0.107217, 0.41701, -0.0141392, -0.00135358, -0.000166967]
minimum (980 evaluations): Box0.005964198391386888@[-0.00693898, -0.102455, 0.344027, -0.0106537, 0.0, 0.0]
minimum (1236 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
minimum (1396 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
minimum (1511 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
minimum (1676 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
minimum (1837 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
minimum (2040 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
minimum (2273 evaluations): Box0.005747764059033704@[-0.220264, -0.117965, 0.596373, -0.00952885, 0.0110728, 0.0]
ERROR: AssertionError: xsplit[1] < xsplit[2] < xsplit[3]
Stacktrace:
 [1] split_insert!(::QuadDIRECT.QmIGE{Float64,6}, ::QuadDIRECT.Box{Float64,6}, ::QuadDIRECT.Box{Float64,6}, ::UnitRange{Int64}, ::QuadDIRECT.CountedFunction{getfield(RegisterOptimize, Symbol("#f#16")){AffineMap{SArray{Tuple{3,3},Float64,2,9},SArray{Tuple{3},Float64,1,3}},Float64,ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}},ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}},SArray{Tuple{3,3},Float64,2,9}}}, ::Array{Float64,1}, ::Float64, ::Array{Float64,1}, ::Int64, ::Array{Float64,1}, ::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/chantal/.julia/packages/QuadDIRECT/GtoVT/src/quadratic_model.jl:266
 [2] complete_quadratic_model!(::QuadDIRECT.QmIGE{Float64,6}, ::Float64, ::QuadDIRECT.Box{Float64,6}, ::Function, ::Array{Float64,1}, ::Array{Float64,1}, ::Array{Float64,1}, ::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}, ::Float64) at /home/chantal/.julia/packages/QuadDIRECT/GtoVT/src/quadratic_model.jl:220
 [3] #analyze!#31(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Int64, ::Base.Iterators.Pairs{Symbol,Array{Float64,1},Tuple{Symbol},NamedTuple{(:minwidth,),Tuple{Array{Float64,1}}}}, ::Function, ::QuadDIRECT.Box{Float64,6}, ::QuadDIRECT.CountedFunction{getfield(RegisterOptimize, Symbol("#f#16")){AffineMap{SArray{Tuple{3,3},Float64,2,9},SArray{Tuple{3},Float64,1,3}},Float64,ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}},ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6,1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}},SArray{Tuple{3,3},Float64,2,9}}}, ::Array{Float64,1}, ::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/chantal/.julia/packages/QuadDIRECT/GtoVT/src/algorithm.jl:583
 [4] #analyze!#30(::Float64, ::Float64, ::Float64, ::Float64, ::Int64, ::Base.Iterators.Pairs{Symbol,Array{Float64,1},Tuple{Symbol},NamedTuple{(:minwidth,),Tuple{Array{Float64,1}}}}, ::Function, ::QuadDIRECT.Box{Float64,6}, ::getfield(RegisterOptimize, Symbol("#f#16")){AffineMap{SArray{Tuple{3,3},Float64,2,9},SArray{Tuple{3},Float64,1,3}},Float64,ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}},ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}},SArray{Tuple{3,3},Float64,2,9}}, ::Array{Float64,1}, ::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./none:0
 [5] (::getfield(QuadDIRECT, Symbol("#kw##analyze!")))(::NamedTuple{(:minwidth, :print_interval, :maxevals),Tuple{Array{Float64,1},Int64,Float64}}, ::typeof(QuadDIRECT.analyze!), ::QuadDIRECT.Box{Float64,6}, ::Function, ::Array{Float64,1}, ::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./none:0
 [6] #analyze#29(::Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:minwidth, :print_interval, :maxevals),Tuple{Array{Float64,1},Int64,Float64}}}, ::Function, ::Function, ::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at /home/chantal/.julia/packages/QuadDIRECT/GtoVT/src/algorithm.jl:517
 [7] (::getfield(QuadDIRECT, Symbol("#kw##analyze")))(::NamedTuple{(:minwidth, :print_interval, :maxevals),Tuple{Array{Float64,1},Int64,Float64}}, ::typeof(QuadDIRECT.analyze), ::Function,::NTuple{6,Array{Float64,1}}, ::Array{Float64,1}, ::Array{Float64,1}) at ./none:0
 [8] #_analyze#4(::Base.Iterators.Pairs{Symbol,Any,Tuple{Symbol,Symbol,Symbol},NamedTuple{(:minwidth, :print_interval, :maxevals),Tuple{Array{Float64,1},Int64,Float64}}}, ::Function, ::Function, ::Array{Float64,1}, ::Array{Float64,1}) at /home/chantal/.julia/packages/RegisterOptimize/uobeX/src/qd_rigid.jl:73
 [9] #_analyze at ./none:0 [inlined]
 [10] #qd_rigid_fine#15(::AffineMap{SArray{Tuple{3,3},Float64,2,9},SArray{Tuple{3},Float64,1,3}}, ::Float64, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6,1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::Array{Float64,1}, ::Array{Float64,1}, ::SArray{Tuple{3,3},Float64,2,9}) at /home/chantal/.julia/packages/RegisterOptimize/uobeX/src/qd_rigid.jl:216
 [11] (::getfield(RegisterOptimize, Symbol("#kw##qd_rigid_fine")))(::NamedTuple{(:initial_tfm, :thresh),Tuple{AffineMap{SArray{Tuple{3,3},Float64,2,9},SArray{Tuple{3},Float64,1,3}},Float64}}, ::typeof(RegisterOptimize.qd_rigid_fine), ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::Array{Float64,1}, ::Array{Float64,1}, ::SArray{Tuple{3,3},Float64,2,9}) at ./none:0
 [12] #qd_rigid#17(::Float64, ::IdentityTransformation, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::Tuple{Int64,Int64,Int64}, ::Tuple{Float64,Float64,Float64}, ::Array{Float64,1}, ::SArray{Tuple{3,3},Float64,2,9}) at /home/chantal/.julia/packages/RegisterOptimize/uobeX/src/qd_rigid.jl:253
 [13] qd_rigid(::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6,1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::ImageMeta{Float32,3,AxisArray{Float32,3,Array{Float32,3},Tuple{Axis{:x,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:l,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}},Axis{:z,StepRangeLen{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}},Base.TwicePrecision{Quantity{Float64,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)},Unitful.FreeUnits{(Unitful.Unit{:Meter,Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}(-6, 1//1),),Unitful.Dimensions{(Unitful.Dimension{:Length}(1//1),)}}}}}}}}}, ::Tuple{Int64,Int64,Int64}, ::Tuple{Float64,Float64,Float64}, ::Array{Float64,1}, ::SArray{Tuple{3,3},Float64,2,9}) at /home/chantal/.julia/packages/RegisterOptimize/uobeX/src/qd_rigid.jl:248
 [14] (::getfield(Main, Symbol("##11#12")))(::IOStream) at ./none:6
 [15] #open#298(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::getfield(Main, Symbol("##11#12")), ::String, ::Vararg{String,N} where N) at ./iostream.jl:369
 [16] open(::Function, ::String, ::String) at ./iostream.jl:367
 [17] top-level scope at none:0
Animadversio commented 5 years ago

Yeah, same as Chantal I've just got this problem when us RegisterQD (affine) to aligning a large image volume (12000 images) parallelized to 30 workers on Cannon.

My code is just multiprocessor version of the normal one

addprocs(30)
@everywhere using Printf
print("Process #:", nprocs())
@everywhere begin
    using RegisterQD
    using Images
    using CoordinateTransformations
    using LinearAlgebra
    using Printf
    img = load("xxxxx/single_plane_100hz_2min_fish2.imagine")
    SD = Matrix{Float64}(LinearAlgebra.I, 2, 2)
    mxshift = (100,100) #make sure this isn't too small
    mxrot = (0.5,)
    minwidth_rot = fill(0.002, 3)
    function worker(frame_n)
        @printf("===%d proc processing %d frame=====",  myid(), frame_n)
        @time tform, mm =qd_rigid(centered(img[:,:,1]), centered(img[:,:,frame_n]), 
        mxshift, mxrot, minwidth_rot, SD; maxevals=1000, rtol=0, fvalue=0.0002)
        return tform, mm
    end
end

time_step = size(img,3)
@time result = pmap(worker, 2:time_step; retry_delays = zeros(3))
      From worker 4:    ===4 proc processing 7937 frame=====Running coarse step
      From worker 7:    minimum (132 evaluations): Box0.010169657928719027@[-0.254304, 0.0838791, -1.50258e-6]
      From worker 9:    minimum (963 evaluations): Box0.009809082472890009@[-0.488478, -0.36314, 0.00204637]
      From worker 13:   minimum (571 evaluations): Box0.009767392946805762@[-0.473679, 0.296816, 0.00184642]
      From worker 12:   Final minimum (1017 evaluations): Box0.009763359681611981@[-0.465748, -0.365404, 0.00207031]
      From worker 12:   363 evaluations for initialization+sweeps, 654 for Quasi-Newton
      From worker 12:    62.410882 seconds (281.77 k allocations: 10.306 GiB, 1.63% gc time)
      From worker 12:   ===12 proc processing 7938 frame=====Running coarse step
      From worker 25:   Initial minimum (3 evaluations): Box0.010205302387475967@[0.0]
      From worker 4:    Initial minimum (3 evaluations): Box0.01002707052975893@[0.0]
      From worker 10:   minimum (1000 evaluations): Box0.009884628484199246@[-0.479969, -0.365016, 0.00207916]
      From worker 10:   Final minimum (1000 evaluations): Box0.009884628484199246@[-0.479969, -0.365016, 0.00207916]
      From worker 10:   339 evaluations for initialization+sweeps, 661 for Quasi-Newton
      From worker 10:    63.828311 seconds (293.26 k allocations: 10.099 GiB, 2.07% gc time)
      From worker 10:   ===10 proc processing 7939 frame=====Running coarse step
      From worker 28:   Final minimum (79 evaluations): Box0.01004027109593153@[-0.00142359]
      From worker 28:   47 evaluations for initialization+sweeps, 32 for Quasi-Newton
      From worker 16:   minimum (846 evaluations): Box0.009825442715789886@[-0.500797, -0.371861, 0.00229184]
      From worker 12:   Initial minimum (3 evaluations): Box0.010034826584160328@[0.0]
      From worker 3:    minimum (274 evaluations): Box0.0098514510972405@[-0.361131, 0.342883, 0.000907209]
      From worker 24:   minimum (820 evaluations): Box0.009839132833606521@[-0.480048, -0.373974, 0.00213357]
      From worker 28:   Running fine step
      From worker 28:   Initial minimum (7 evaluations): Box0.010040263432566043@[0.0, NaN, NaN]
      From worker 10:   Initial minimum (3 evaluations): Box0.010221495293080807@[0.0]
      From worker 9:    Final minimum (1011 evaluations): Box0.009809082472890009@[-0.488478, -0.36314, 0.00204637]
      From worker 9:    395 evaluations for initialization+sweeps, 616 for Quasi-Newton
      From worker 9:     64.279216 seconds (289.58 k allocations: 10.257 GiB, 1.78% gc time)
      From worker 9:    ===9 proc processing 7940 frame=====Running coarse step
      From worker 6:    minimum (652 evaluations): Box0.009852110302533804@[-0.483334, 0.28126, 0.00185522]
      From worker 29:   minimum (125 evaluations): Box0.009911262323201244@[-0.272489, 0.0, 0.000603873]
      From worker 17:   Final minimum (77 evaluations): Box0.010034010745584965@[-0.00142257]
      From worker 17:   47 evaluations for initialization+sweeps, 30 for Quasi-Newton
      From worker 17:   Running fine step
      From worker 21:   minimum (977 evaluations): Box0.009848726793057986@[-0.481264, -0.385604, 0.00217622]
      From worker 17:   Initial minimum (7 evaluations): Box0.010034024394848287@[0.0, NaN, NaN]
      From worker 5:    minimum (636 evaluations): Box0.009767435022498128@[-0.389997, -0.3008, 0.00217082]
      From worker 31:   minimum (650 evaluations): Box0.009805710569675764@[-0.355196, -0.312539, 0.00173725]
      From worker 9:    Initial minimum (3 evaluations): Box0.010153081268072128@[0.0]
      From worker 22:   minimum (323 evaluations): Box0.009875809416506254@[-0.663306, 0.317202, 0.00276854]
      From worker 27:   minimum (953 evaluations): Box0.009884420689051763@[-0.471385, -0.318803, 0.00255468]
      From worker 18:   minimum (463 evaluations): Box0.009965723631326237@[-0.544528, 0.07068, 0.000751532]
      From worker 21:   Final minimum (1013 evaluations): Box0.009848726793057986@[-0.481264, -0.385604, 0.00217622]
      From worker 21:   351 evaluations for initialization+sweeps, 662 for Quasi-Newton
      From worker 21:    67.666582 seconds (290.21 k allocations: 10.280 GiB, 2.00% gc time)
      From worker 21:   ===21 proc processing 7941 frame=====Running coarse step
      From worker 11:   minimum (519 evaluations): Box0.009831212720889798@[-0.485144, 0.301031, 0.00186593]
      From worker 30:   Final minimum (77 evaluations): Box0.010021477937698364@[-0.00142339]
      From worker 30:   47 evaluations for initialization+sweeps, 30 for Quasi-Newton
      From worker 21:   Initial minimum (3 evaluations): Box0.009937467984855175@[0.0]
      From worker 30:   Running fine step
      From worker 14:   minimum (163 evaluations): Box0.009866067278938356@[-0.297925, 0.0819465, -6.71413e-6]
      From worker 30:   Initial minimum (7 evaluations): Box0.010021408352285674@[0.0, NaN, NaN]
      From worker 27:   Final minimum (1011 evaluations): Box0.009884420689051763@[-0.471385, -0.318803, 0.00255468]
      From worker 27:   385 evaluations for initialization+sweeps, 626 for Quasi-Newton
      From worker 27:    67.143958 seconds (287.93 k allocations: 10.350 GiB, 2.22% gc time)
      From worker 27:   ===27 proc processing 7942 frame=====Running coarse step
      From worker 13:   minimum (731 evaluations): Box0.009767392946805762@[-0.473679, 0.296816, 0.00184642]
      From worker 26:   minimum (691 evaluations): Box0.009820295681283073@[-0.472647, 0.298169, 0.00184391]
      From worker 3:    minimum (398 evaluations): Box0.0098514510972405@[-0.361131, 0.342883, 0.000907209]
      From worker 19:   Final minimum (79 evaluations): Box0.010042157955467701@[-0.00157696]
      From worker 19:   47 evaluations for initialization+sweeps, 32 for Quasi-Newton
      From worker 19:   Running fine step
      From worker 29:   minimum (240 evaluations): Box0.009823165626824828@[-0.480976, 0.411592, 0.00162772]
      From worker 28:   minimum (129 evaluations): Box0.009930085738803638@[-0.303228, 0.125538, 0.0]
      From worker 27:   Initial minimum (3 evaluations): Box0.009953737258911133@[0.0]
      From worker 19:   Initial minimum (7 evaluations): Box0.010042115541277355@[0.0, NaN, NaN]
      From worker 6:    minimum (777 evaluations): Box0.009814899231313972@[-0.456051, -0.286101, 0.00231372]
      From worker 17:   minimum (112 evaluations): Box0.009893317738925564@[-0.301349, 0.0798253, 0.000607448]
      From worker 16:   minimum (1004 evaluations): Box0.009822741852153635@[-0.481932, -0.36476, 0.00213584]
      From worker 16:   Final minimum (1004 evaluations): Box0.009822741852153635@[-0.481932, -0.36476, 0.00213584]
      From worker 16:   347 evaluations for initialization+sweeps, 657 for Quasi-Newton
      From worker 16:    61.589472 seconds (289.84 k allocations: 10.254 GiB, 2.17% gc time)
      From worker 16:   ===16 proc processing 7943 frame=====Running coarse step
      From worker 5:    minimum (757 evaluations): Box0.009749817349376947@[-0.466293, -0.358024, 0.00209118]
      From worker 15:   minimum (381 evaluations): Box0.009778284855344982@[-0.457768, 0.328204, 0.00137773]
      From worker 16:   Initial minimum (3 evaluations): Box0.009902618825435638@[0.0]
      From worker 11:   minimum (641 evaluations): Box0.009831212720889798@[-0.485144, 0.301031, 0.00186593]
      From worker 24:   minimum (1014 evaluations): Box0.009838888090751891@[-0.47528, -0.360617, 0.00209629]
      From worker 24:   Final minimum (1014 evaluations): Box0.009838888090751891@[-0.47528, -0.360617, 0.00209629]
      From worker 24:   379 evaluations for initialization+sweeps, 635 for Quasi-Newton
      From worker 24:    62.674837 seconds (293.53 k allocations: 10.241 GiB, 2.25% gc time)
      From worker 24:   ===24 proc processing 7944 frame=====Running coarse step
      From worker 7:    minimum (382 evaluations): Box0.010169538982114397@[-0.243185, 0.0803209, -7.47948e-7]
      From worker 30:   minimum (116 evaluations): Box0.009916319380012565@[-0.296881, 0.319519, 4.97813e-7]
      From worker 24:   Initial minimum (3 evaluations): Box0.009905402548611164@[0.0]
      From worker 31:   minimum (837 evaluations): Box0.009805710569675764@[-0.355196, -0.312539, 0.00173725]
      From worker 14:   minimum (295 evaluations): Box0.009744950190737237@[-0.427889, 0.384202, 0.00115751]
      From worker 18:   minimum (650 evaluations): Box0.009857764906381655@[-0.256991, -0.309971, 0.00132998]
      From worker 3:    minimum (528 evaluations): Box0.009836380994219285@[-0.361131, 0.524384, 0.00135706]
      From worker 19:   minimum (121 evaluations): Box0.009824972960199897@[-0.404124, 0.40909, 0.00083312]
      From worker 5:    minimum (871 evaluations): Box0.009749817349376947@[-0.466293, -0.358024, 0.00209118]
      From worker 6:    minimum (940 evaluations): Box0.009801308772770658@[-0.491974, -0.403507, 0.00215537]
      From worker 22:   minimum (588 evaluations): Box0.009781087547901919@[-0.446937, -0.337801, 0.00201952]
      From worker 17:   minimum (287 evaluations): Box0.009831926764657552@[-0.428158, 0.2698, 0.000769622]
      From worker 13:   minimum (940 evaluations): Box0.009748524833253358@[-0.450301, -0.334182, 0.00241831]
      From worker 28:   minimum (317 evaluations): Box0.009800806029521136@[-0.495785, 0.325384, 0.00151263]
      From worker 11:   minimum (776 evaluations): Box0.009831212720889798@[-0.485144, 0.301031, 0.00186593]
      From worker 29:   minimum (440 evaluations): Box0.009821588146762626@[-0.382115, 0.3027, 0.00147838]
      From worker 15:   minimum (558 evaluations): Box0.009777225135791528@[-0.472226, 0.317592, 0.00133028]
      From worker 23:   Final minimum (78 evaluations): Box0.00997920148074627@[-0.00142641]
      From worker 23:   47 evaluations for initialization+sweeps, 31 for Quasi-Newton
      From worker 23:   Running fine step
      From worker 18:   minimum (777 evaluations): Box0.009831966396292786@[-0.381696, -0.272405, 0.00133065]
      From worker 5:    minimum (973 evaluations): Box0.009749794994549097@[-0.464385, -0.352275, 0.00207891]
      From worker 30:   minimum (274 evaluations): Box0.009914278180096443@[-0.348439, 0.305282, 2.88083e-5]
      From worker 26:   minimum (947 evaluations): Box0.009820208275639352@[-0.480586, 0.297919, 0.00185837]
      From worker 6:    Final minimum (1012 evaluations): Box0.009801303082615634@[-0.491974, -0.403507, 0.0021565]
      From worker 6:    361 evaluations for initialization+sweeps, 651 for Quasi-Newton
      From worker 6:     64.745540 seconds (284.84 k allocations: 10.225 GiB, 1.79% gc time)
      From worker 14:   minimum (434 evaluations): Box0.009739568327790663@[-0.480639, 0.346017, 0.00137038]
      From worker 23:   Initial minimum (7 evaluations): Box0.009979173917067529@[0.0, NaN, NaN]
      From worker 13:   Final minimum (1007 evaluations): Box0.009735971020367303@[-0.492722, -0.334277, 0.00208782]
      From worker 13:   423 evaluations for initialization+sweeps, 584 for Quasi-Newton
      From worker 13:    60.872021 seconds (288.91 k allocations: 10.190 GiB, 1.65% gc time)
      From worker 3:    minimum (656 evaluations): Box0.009790726353859098@[-0.473238, 0.354922, 0.00143086]
      From worker 31:   minimum (1001 evaluations): Box0.009805710569675764@[-0.355196, -0.312539, 0.00173725]
      From worker 31:   Final minimum (1001 evaluations): Box0.009805710569675764@[-0.355196, -0.312539, 0.00173725]
      From worker 31:   315 evaluations for initialization+sweeps, 686 for Quasi-Newton
      From worker 31:    65.080297 seconds (287.73 k allocations: 10.188 GiB, 1.78% gc time)
      From worker 20:   Final minimum (80 evaluations): Box0.009904274716973305@[-0.00142457]
      From worker 20:   47 evaluations for initialization+sweeps, 33 for Quasi-Newton
      From worker 5:    Final minimum (1004 evaluations): Box0.009749784080816223@[-0.465605, -0.352348, 0.00208777]
      From worker 5:    469 evaluations for initialization+sweeps, 535 for Quasi-Newton
      From worker 5:     64.992461 seconds (291.45 k allocations: 10.134 GiB, 2.11% gc time)
      From worker 20:   Running fine step
      From worker 20:   Initial minimum (7 evaluations): Box0.00990423375691237@[0.0, NaN, NaN]
      From worker 28:   minimum (424 evaluations): Box0.009800763125210582@[-0.490604, 0.325384, 0.00151263]
      From worker 11:   minimum (880 evaluations): Box0.00981805561735343@[-0.412472, -0.397523, 0.00186081]
      From worker 19:   minimum (292 evaluations): Box0.009797172333329333@[-0.550225, 0.317721, 0.00167755]
      From worker 17:   minimum (404 evaluations): Box0.009831926764657552@[-0.428158, 0.2698, 0.000769622]
      From worker 26:   Final minimum (1011 evaluations): Box0.009789880731190512@[-0.456237, -0.382996, 0.0020131]
      From worker 26:   435 evaluations for initialization+sweeps, 576 for Quasi-Newton
      From worker 26:    65.784798 seconds (290.65 k allocations: 10.351 GiB, 1.76% gc time)
      From worker 22:   minimum (732 evaluations): Box0.00978044393093929@[-0.455546, -0.334246, 0.0021114]
      From worker 8:    minimum (101 evaluations): Box0.009969038888812065@[-0.00142538]
      From worker 8:    Final minimum (101 evaluations): Box0.009969038888812065@[-0.00142538]
      From worker 8:    63 evaluations for initialization+sweeps, 38 for Quasi-Newton
      From worker 8:    Running fine step
      From worker 8:    Initial minimum (7 evaluations): Box0.009968980903375564@[0.0, NaN, NaN]
      From worker 23:   minimum (119 evaluations): Box0.009745244002303675@[-0.390887, 0.366342, 0.00114579]
      From worker 14:   minimum (543 evaluations): Box0.00973943418974737@[-0.480619, 0.342646, 0.00137038]
      From worker 20:   minimum (117 evaluations): Box0.009802499478442653@[-0.333027, 0.0791045, 4.74031e-5]
      From worker 29:   minimum (624 evaluations): Box0.009804961720463697@[-0.490378, 0.317283, 0.00151179]
      From worker 30:   minimum (434 evaluations): Box0.009826654660257672@[-0.546307, 0.382983, 0.000809109]
      From worker 18:   minimum (928 evaluations): Box0.009831966396292786@[-0.381696, -0.272405, 0.00133065]
      From worker 11:   minimum (1013 evaluations): Box0.009804729726290406@[-0.477034, -0.343771, 0.00215355]
      From worker 11:   Final minimum (1013 evaluations): Box0.009804729726290406@[-0.477034, -0.343771, 0.00215355]
      From worker 11:   409 evaluations for initialization+sweeps, 604 for Quasi-Newton
      From worker 11:    62.191560 seconds (299.52 k allocations: 10.241 GiB, 1.85% gc time)
      From worker 10:   Final minimum (79 evaluations): Box0.009830744937062263@[-0.00141581]
      From worker 10:   47 evaluations for initialization+sweeps, 32 for Quasi-Newton
      From worker 17:   minimum (551 evaluations): Box0.009797040050683069@[-0.511294, 0.34539, 0.00156422]
      From worker 9:    Final minimum (68 evaluations): Box0.009772506542503834@[-0.00195312]
      From worker 9:    43 evaluations for initialization+sweeps, 25 for Quasi-Newton
      From worker 10:   Running fine step
      From worker 8:    minimum (112 evaluations): Box0.00971770229388886@[-0.453944, 0.328915, 0.00150136]
      From worker 9:    Running fine step
      From worker 10:   Initial minimum (7 evaluations): Box0.009830732286685928@[0.0, NaN, NaN]
      From worker 19:   minimum (450 evaluations): Box0.009789148628890498@[-0.473318, 0.334799, 0.00150474]
      From worker 9:    Initial minimum (7 evaluations): Box0.009772525653879678@[0.0, NaN, NaN]
      From worker 4:    Final minimum (79 evaluations): Box0.009646388702094555@[-0.00142188]
      From worker 4:    47 evaluations for initialization+sweeps, 32 for Quasi-Newton
      From worker 2:    minimum (105 evaluations): Box0.00993359088897705@[-0.00141836]
      From worker 2:    Final minimum (105 evaluations): Box0.00993359088897705@[-0.00141836]
      From worker 2:    63 evaluations for initialization+sweeps, 42 for Quasi-Newton
      From worker 28:   minimum (606 evaluations): Box0.009800057070449059@[-0.493083, 0.361324, 0.00132519]
      From worker 3:    minimum (872 evaluations): Box0.009773279510126494@[-0.480551, 0.313461, 0.00186024]
      From worker 2:    Running fine step
      From worker 4:    Running fine step
      From worker 25:   Final minimum (77 evaluations): Box0.009825147688388824@[-0.00141932]
      From worker 25:   47 evaluations for initialization+sweeps, 30 for Quasi-Newton
      From worker 2:    Initial minimum (7 evaluations): Box0.009933560155804428@[0.0, NaN, NaN]
      From worker 25:   Running fine step
      From worker 4:    Initial minimum (7 evaluations): Box0.00964642425416805@[0.0, NaN, NaN]
      From worker 14:   minimum (660 evaluations): Box0.00973943418974737@[-0.480619, 0.342646, 0.00137038]
      From worker 18:   Final minimum (1011 evaluations): Box0.009831802473075857@[-0.383624, -0.280721, 0.00133113]
      From worker 18:   391 evaluations for initialization+sweeps, 620 for Quasi-Newton
      From worker 18:    60.776919 seconds (282.13 k allocations: 10.182 GiB, 2.38% gc time)
      From worker 25:   Initial minimum (7 evaluations): Box0.009825099907098362@[0.0, NaN, NaN]
      From worker 15:   minimum (821 evaluations): Box0.009777225135736638@[-0.472286, 0.317527, 0.00133079]
      From worker 27:   Final minimum (66 evaluations): Box0.00956560205668211@[-0.00195312]
      From worker 27:   43 evaluations for initialization+sweeps, 23 for Quasi-Newton
      From worker 23:   minimum (263 evaluations): Box0.009742069772155417@[-0.439149, 0.339992, 0.00114579]
      From worker 12:   Final minimum (84 evaluations): Box0.009649268351495266@[-0.00142665]
      From worker 12:   47 evaluations for initialization+sweeps, 37 for Quasi-Newton
      From worker 27:   Running fine step
      From worker 12:   Running fine step
      From worker 20:   minimum (244 evaluations): Box0.009800386973069867@[-0.284968, 0.0952786, 4.1457e-5]
      From worker 27:   Initial minimum (7 evaluations): Box0.009565632299094393@[0.0, NaN, NaN]
      From worker 30:   minimum (542 evaluations): Box0.009799129628943422@[-0.413404, 0.342992, 0.000809005]
      From worker 12:   Initial minimum (7 evaluations): Box0.009649314939379837@[0.0, NaN, NaN]
      From worker 29:   minimum (737 evaluations): Box0.009803669627053266@[-0.484513, 0.299462, 0.00141762]
      From worker 21:   Final minimum (77 evaluations): Box0.009551921859383583@[-0.00141812]
      From worker 21:   47 evaluations for initialization+sweeps, 30 for Quasi-Newton
      From worker 22:   minimum (997 evaluations): Box0.009780312575260408@[-0.463677, -0.334246, 0.0021114]
      From worker 21:   Running fine step
      From worker 21:   Initial minimum (7 evaluations): Box0.009551963591567207@[0.0, NaN, NaN]
      From worker 16:   Final minimum (66 evaluations): Box0.009511580690741539@[-0.00195312]
      From worker 16:   43 evaluations for initialization+sweeps, 23 for Quasi-Newton
      From worker 16:   Running fine step
      From worker 9:    minimum (111 evaluations): Box0.009720173323761192@[-0.284946, 0.16762, 9.88365e-5]
      From worker 16:   Initial minimum (7 evaluations): Box0.009511603489044871@[0.0, NaN, NaN]
      From worker 8:    minimum (258 evaluations): Box0.009714413662045934@[-0.459643, 0.353615, 0.00132356]
      From worker 10:   minimum (139 evaluations): Box0.009720607660793922@[-0.302321, 0.054288, 1.9672e-6]
      From worker 22:   Final minimum (1047 evaluations): Box0.009780312575260408@[-0.463677, -0.334246, 0.0021114]
      From worker 22:   393 evaluations for initialization+sweeps, 654 for Quasi-Newton
      From worker 22:    61.146566 seconds (296.51 k allocations: 10.478 GiB, 1.83% gc time)
      From worker 3:    minimum (1008 evaluations): Box0.009773276399952664@[-0.479441, 0.314263, 0.00186025]
      From worker 3:    Final minimum (1008 evaluations): Box0.009773276399952664@[-0.479441, 0.314263, 0.00186025]
      From worker 3:    457 evaluations for initialization+sweeps, 551 for Quasi-Newton
      From worker 3:     61.649017 seconds (288.84 k allocations: 10.203 GiB, 1.71% gc time)
      From worker 14:   minimum (774 evaluations): Box0.00973943418974737@[-0.480619, 0.342646, 0.00137038]
      From worker 17:   minimum (726 evaluations): Box0.009791480401981927@[-0.473265, 0.339331, 0.00132853]
      From worker 24:   Final minimum (69 evaluations): Box0.00951169803738594@[-0.00195312]
      From worker 24:   43 evaluations for initialization+sweeps, 26 for Quasi-Newton
      From worker 4:    minimum (136 evaluations): Box0.009477894220247625@[-0.264227, 0.270503, 0.000903375]
      From worker 24:   Running fine step
      From worker 24:   Initial minimum (7 evaluations): Box0.009511697524942806@[0.0, NaN, NaN]
      From worker 2:    minimum (141 evaluations): Box0.009696302084883202@[-0.430741, 0.371432, 0.00105685]
      From worker 27:   minimum (121 evaluations): Box0.009443537809165873@[-0.271719, 0.223081, 0.00112212]
      From worker 23:   minimum (369 evaluations): Box0.009742069772155417@[-0.439149, 0.339992, 0.00114579]
      From worker 19:   minimum (664 evaluations): Box0.009789148628890498@[-0.473318, 0.334799, 0.00150474]
      From worker 29:   minimum (854 evaluations): Box0.009803669627053266@[-0.484513, 0.299462, 0.00141762]
      From worker 28:   minimum (808 evaluations): Box0.009799218804060525@[-0.495785, 0.336147, 0.00138855]
      From worker 15:   minimum (997 evaluations): Box0.009777225135736638@[-0.472286, 0.317527, 0.00133079]
      From worker 21:   minimum (144 evaluations): Box0.009450350195670598@[-0.289447, 0.0614081, 2.43736e-6]
      From worker 25:   minimum (192 evaluations): Box0.009648814469165464@[-0.394923, 0.13321, 0.00149817]
      From worker 16:   minimum (110 evaluations): Box0.009393444153186785@[-0.266357, 0.173909, 0.00153347]
      From worker 12:   minimum (175 evaluations): Box0.009482781624873642@[-0.406176, 0.129303, 0.00135369]
      From worker 20:   minimum (391 evaluations): Box0.009768727691485572@[-0.377918, -0.0115603, 0.000594448]
      From worker 30:   minimum (726 evaluations): Box0.009782920989509376@[-0.545706, 0.346381, 0.00155802]
      From worker 17:   minimum (901 evaluations): Box0.009791467134507632@[-0.472563, 0.332165, 0.00131054]
      From worker 14:   minimum (946 evaluations): Box0.00973943418974737@[-0.480619, 0.342646, 0.00137038]
      From worker 15:   Final minimum (1079 evaluations): Box0.009777225135736638@[-0.472286, 0.317527, 0.00133079]
      From worker 15:   441 evaluations for initialization+sweeps, 638 for Quasi-Newton
      From worker 15:    64.912680 seconds (315.15 k allocations: 11.150 GiB, 2.22% gc time)
      From worker 9:    minimum (289 evaluations): Box0.00964020777489789@[-0.287417, -0.0277778, 0.00135147]
      From worker 28:   minimum (937 evaluations): Box0.009798499490100074@[-0.472763, 0.333109, 0.00134481]
      From worker 4:    minimum (302 evaluations): Box0.009454833002626398@[-0.298227, 0.276827, 0.00114592]
      From worker 19:   minimum (818 evaluations): Box0.009789114519311533@[-0.473575, 0.341432, 0.00149551]
      From worker 29:   minimum (986 evaluations): Box0.009802466466663348@[-0.469516, 0.333303, 0.00132896]
      From worker 24:   minimum (128 evaluations): Box0.009462836491688501@[-0.250133, 0.0669645, 7.12083e-6]
      From worker 10:   minimum (376 evaluations): Box0.009700454263519644@[-0.352729, -0.00527045, 0.000254223]
      From worker 27:   minimum (313 evaluations): Box0.009419829268902516@[-0.39265, 0.223081, 0.00112212]
      From worker 14:   Final minimum (1005 evaluations): Box0.009739056228017972@[-0.475169, 0.330419, 0.00133695]
      From worker 14:   357 evaluations for initialization+sweeps, 648 for Quasi-Newton
      From worker 14:    62.103365 seconds (306.38 k allocations: 10.724 GiB, 1.89% gc time)
      From worker 23:   minimum (527 evaluations): Box0.009741500529380066@[-0.439149, 0.360822, 0.00114557]
      From worker 2:    minimum (297 evaluations): Box0.009691243978361672@[-0.470106, 0.325007, 0.00146466]
      From worker 25:   minimum (312 evaluations): Box0.009617023578619903@[-0.445686, 0.278187, 0.00178853]
      From worker 16:   minimum (228 evaluations): Box0.009387035188069073@[-0.266357, 0.192139, 0.00153347]
      From worker 8:    minimum (500 evaluations): Box0.009714389193377762@[-0.463079, 0.352653, 0.00133861]
      From worker 17:   minimum (1008 evaluations): Box0.009791429699902583@[-0.473243, 0.334157, 0.00132853]
      From worker 17:   Final minimum (1008 evaluations): Box0.009791429699902583@[-0.473243, 0.334157, 0.00132853]
      From worker 17:   293 evaluations for initialization+sweeps, 715 for Quasi-Newton
      From worker 17:    59.048362 seconds (294.19 k allocations: 10.648 GiB, 2.44% gc time)
      From worker 28:   Final minimum (1007 evaluations): Box0.009798499490100074@[-0.472763, 0.333109, 0.00134481]
      From worker 28:   379 evaluations for initialization+sweeps, 628 for Quasi-Newton
      From worker 28:    58.890268 seconds (300.43 k allocations: 10.724 GiB, 1.69% gc time)
      From worker 29:   Final minimum (1046 evaluations): Box0.009802446992500559@[-0.469754, 0.328492, 0.00132896]
      From worker 29:   427 evaluations for initialization+sweeps, 619 for Quasi-Newton
      From worker 29:    63.250732 seconds (307.13 k allocations: 10.920 GiB, 1.99% gc time)
      From worker 30:   minimum (859 evaluations): Box0.009773678169415054@[-0.473375, 0.350356, 0.00134124]
      From worker 21:   minimum (390 evaluations): Box0.009350185527377902@[-0.446798, 0.363936, 0.00122543]
      From worker 24:   minimum (247 evaluations): Box0.009322415742788793@[-0.441926, 0.24774, 0.00164998]
      From worker 12:   minimum (384 evaluations): Box0.009448178705138194@[-0.525363, -0.293205, 0.00160265]
      From worker 27:   minimum (436 evaluations): Box0.009356313490782617@[-0.530059, -0.286605, 0.00255698]
      From worker 9:    minimum (435 evaluations): Box0.009561890223196439@[-0.494201, 0.299288, 0.00206739]
      From worker 23:   minimum (650 evaluations): Box0.009741500529380066@[-0.439149, 0.360822, 0.00114557]
      From worker 20:   minimum (585 evaluations): Box0.009702141438939615@[-0.480819, 0.329008, 0.00189706]
      From worker 16:   minimum (348 evaluations): Box0.009354389757357789@[-0.37471, 0.290849, 0.00222383]
      From worker 2:    minimum (436 evaluations): Box0.009690105811302396@[-0.445793, 0.342539, 0.00131669]
      From worker 19:   minimum (1008 evaluations): Box0.009789114519311533@[-0.473575, 0.341432, 0.00149551]
      From worker 19:   Final minimum (1008 evaluations): Box0.009789114519311533@[-0.473575, 0.341432, 0.00149551]
      From worker 19:   393 evaluations for initialization+sweeps, 615 for Quasi-Newton
      From worker 19:    57.860260 seconds (298.51 k allocations: 10.743 GiB, 1.91% gc time)
      From worker 4:    minimum (536 evaluations): Box0.009417066033412871@[-0.439857, 0.352503, 0.00107793]
      From worker 8:    minimum (671 evaluations): Box0.009714389193377762@[-0.463079, 0.352653, 0.00133861]
      From worker 25:   minimum (507 evaluations): Box0.009600158975348778@[-0.529359, 0.353266, 0.0014954]
      From worker 10:   minimum (609 evaluations): Box0.009628768453821547@[-0.412685, 0.200459, 0.00140292]
      From worker 30:   minimum (1002 evaluations): Box0.009773672206896983@[-0.473375, 0.350356, 0.00134558]
      From worker 30:   Final minimum (1002 evaluations): Box0.009773672206896983@[-0.473375, 0.350356, 0.00134558]
      From worker 30:   303 evaluations for initialization+sweeps, 699 for Quasi-Newton
      From worker 30:    59.238741 seconds (288.49 k allocations: 10.600 GiB, 2.16% gc time)
      From worker 12:   minimum (510 evaluations): Box0.009447273072990564@[-0.450223, -0.264988, 0.00128473]
      From worker 21:   minimum (532 evaluations): Box0.009346837506021036@[-0.450742, 0.310724, 0.00122655]
      From worker 24:   minimum (384 evaluations): Box0.009319664411371817@[-0.476417, 0.309646, 0.0019786]
      From worker 9:    minimum (557 evaluations): Box0.009558957230523161@[-0.48522, 0.306904, 0.00183154]
      From worker 2:    minimum (537 evaluations): Box0.009689883338829409@[-0.457109, 0.345823, 0.0013392]
      From worker 20:   minimum (708 evaluations): Box0.00967877766853555@[-0.43284, 0.388395, 0.00106739]
      From worker 27:   minimum (597 evaluations): Box0.009349537754808138@[-0.51971, -0.32343, 0.00256699]
      From worker 16:   minimum (477 evaluations): Box0.009332712081787152@[-0.381488, 0.205146, 0.00185627]
      From worker 8:    minimum (810 evaluations): Box0.009714389193377762@[-0.463079, 0.352653, 0.00133861]
      From worker 23:   minimum (869 evaluations): Box0.009741500529380066@[-0.439149, 0.360822, 0.00114557]
      From worker 12:   minimum (631 evaluations): Box0.009443068523244908@[-0.424475, -0.337887, 0.00136027]
      From worker 25:   minimum (667 evaluations): Box0.00959935245406491@[-0.529359, 0.31828, 0.00149559]
      From worker 10:   minimum (784 evaluations): Box0.009609723658207203@[-0.472653, 0.287802, 0.00140287]
      From worker 21:   minimum (705 evaluations): Box0.009346837506021036@[-0.450742, 0.310724, 0.00122655]
      From worker 16:   minimum (603 evaluations): Box0.0093127907724094@[-0.465137, 0.284878, 0.0018401]
      From worker 24:   minimum (553 evaluations): Box0.009318091841734879@[-0.476417, 0.27242, 0.0019786]
      From worker 4:    minimum (765 evaluations): Box0.009413453765660983@[-0.462347, 0.370736, 0.00131913]
      From worker 2:    minimum (714 evaluations): Box0.009689882100871147@[-0.45803, 0.345983, 0.00134141]
      From worker 27:   minimum (773 evaluations): Box0.009343805724890684@[-0.489984, -0.395582, 0.00255808]
      From worker 9:    minimum (753 evaluations): Box0.00955807452274241@[-0.46084, 0.301584, 0.00185199]
      From worker 12:   minimum (743 evaluations): Box0.009436573720781563@[-0.451212, 0.335851, 0.00127391]
      From worker 23:   minimum (997 evaluations): Box0.009741500529380066@[-0.439149, 0.360822, 0.00114557]
      From worker 25:   minimum (800 evaluations): Box0.009595452191951837@[-0.475064, 0.35437, 0.00147464]
      From worker 8:    minimum (994 evaluations): Box0.009714389193377762@[-0.463079, 0.352653, 0.00133861]
      From worker 10:   minimum (934 evaluations): Box0.009594031867817291@[-0.47621, -0.35054, 0.00165575]
      From worker 16:   minimum (720 evaluations): Box0.009312787005042934@[-0.464288, 0.284943, 0.00183985]
      From worker 24:   minimum (667 evaluations): Box0.009318091841734879@[-0.476417, 0.27242, 0.0019786]
      From worker 21:   minimum (837 evaluations): Box0.009346806661644565@[-0.451433, 0.310724, 0.00122884]
      From worker 23:   Final minimum (1065 evaluations): Box0.009741500529380066@[-0.439149, 0.360822, 0.00114557]
      From worker 23:   483 evaluations for initialization+sweeps, 582 for Quasi-Newton
      From worker 23:    59.813062 seconds (302.93 k allocations: 11.109 GiB, 2.44% gc time)
      From worker 20:   minimum (985 evaluations): Box0.009675142860148556@[-0.420017, 0.354679, 0.00134335]
      From worker 4:    minimum (925 evaluations): Box0.009411766345945797@[-0.460775, 0.332091, 0.00133222]
      From worker 9:    minimum (887 evaluations): Box0.009558049395411553@[-0.465205, 0.30184, 0.00185785]
      From worker 8:    Final minimum (1050 evaluations): Box0.009714389193377762@[-0.463079, 0.352653, 0.00133861]
      From worker 8:    399 evaluations for initialization+sweeps, 651 for Quasi-Newton
      From worker 8:     62.378539 seconds (323.49 k allocations: 12.042 GiB, 1.85% gc time)
      From worker 10:   Final minimum (1008 evaluations): Box0.009594031867817291@[-0.47621, -0.35054, 0.00165575]
      From worker 10:   243 evaluations for initialization+sweeps, 765 for Quasi-Newton
      From worker 10:    49.385670 seconds (282.94 k allocations: 10.729 GiB, 1.87% gc time)
      From worker 2:    minimum (882 evaluations): Box0.009689882100871147@[-0.45803, 0.345983, 0.00134141]
      From worker 12:   minimum (888 evaluations): Box0.009436500421231057@[-0.451212, 0.332833, 0.00127401]
      From worker 25:   minimum (915 evaluations): Box0.009592532687041482@[-0.458459, 0.334174, 0.00132247]
      From worker 20:   Final minimum (1055 evaluations): Box0.009674693253922357@[-0.423812, 0.354679, 0.00134335]
      From worker 20:   363 evaluations for initialization+sweeps, 692 for Quasi-Newton
      From worker 20:    59.045891 seconds (299.39 k allocations: 11.147 GiB, 2.29% gc time)
      From worker 16:   minimum (836 evaluations): Box0.009312787005042934@[-0.464288, 0.284943, 0.00183985]
      From worker 4:    Final minimum (1015 evaluations): Box0.009411766345945797@[-0.460775, 0.332091, 0.00133222]
      From worker 4:    347 evaluations for initialization+sweeps, 668 for Quasi-Newton
      From worker 4:     52.303909 seconds (296.61 k allocations: 10.796 GiB, 2.57% gc time)
      From worker 27:   minimum (1007 evaluations): Box0.009336302213130636@[-0.46549, -0.444444, 0.00213083]
      From worker 27:   Final minimum (1007 evaluations): Box0.009336302213130636@[-0.46549, -0.444444, 0.00213083]
      From worker 27:   341 evaluations for initialization+sweeps, 666 for Quasi-Newton
      From worker 27:    46.019894 seconds (294.80 k allocations: 10.146 GiB, 1.99% gc time)
      From worker 24:   minimum (809 evaluations): Box0.009317158864338001@[-0.466962, 0.309646, 0.00179144]
      From worker 21:   minimum (1000 evaluations): Box0.009346806661644565@[-0.451433, 0.310724, 0.00122884]
      From worker 21:   Final minimum (1000 evaluations): Box0.009346806661644565@[-0.451433, 0.310724, 0.00122884]
      From worker 21:   359 evaluations for initialization+sweeps, 641 for Quasi-Newton
      From worker 21:    48.287934 seconds (289.92 k allocations: 10.585 GiB, 1.91% gc time)
      From worker 9:    minimum (1008 evaluations): Box0.009558049395411553@[-0.465205, 0.30184, 0.00185785]
      From worker 9:    Final minimum (1008 evaluations): Box0.009558049395411553@[-0.465205, 0.30184, 0.00185785]
      From worker 9:    469 evaluations for initialization+sweeps, 539 for Quasi-Newton
      From worker 9:     50.770551 seconds (290.25 k allocations: 10.251 GiB, 2.60% gc time)
      From worker 25:   Final minimum (1005 evaluations): Box0.009592532658528776@[-0.458463, 0.334183, 0.00132247]
      From worker 25:   335 evaluations for initialization+sweeps, 670 for Quasi-Newton
      From worker 25:    53.633249 seconds (290.25 k allocations: 10.633 GiB, 2.01% gc time)
      From worker 12:   minimum (1001 evaluations): Box0.009436500421231057@[-0.451212, 0.332833, 0.00127401]
      From worker 12:   Final minimum (1001 evaluations): Box0.009436500421231057@[-0.451212, 0.332833, 0.00127401]
      From worker 12:   291 evaluations for initialization+sweeps, 710 for Quasi-Newton
      From worker 12:    53.336305 seconds (296.99 k allocations: 10.908 GiB, 1.98% gc time)
      From worker 2:    minimum (999 evaluations): Box0.009689882100871147@[-0.45803, 0.345983, 0.00134141]
      From worker 2:    Final minimum (1049 evaluations): Box0.009689882100871147@[-0.45803, 0.345983, 0.00134141]
      From worker 2:    445 evaluations for initialization+sweeps, 604 for Quasi-Newton
      From worker 2:     63.453309 seconds (329.40 k allocations: 12.213 GiB, 2.70% gc time)
      From worker 24:   minimum (925 evaluations): Box0.00931638007154683@[-0.46444, 0.284642, 0.00183421]
      From worker 16:   minimum (1000 evaluations): Box0.009312787005042934@[-0.464288, 0.284943, 0.00183985]
      From worker 16:   Final minimum (1000 evaluations): Box0.009312787005042934@[-0.464288, 0.284943, 0.00183985]
      From worker 16:   399 evaluations for initialization+sweeps, 601 for Quasi-Newton
      From worker 16:    47.900489 seconds (298.15 k allocations: 10.094 GiB, 2.16% gc time)
      From worker 24:   Final minimum (1009 evaluations): Box0.009316379973940012@[-0.464503, 0.284392, 0.00183421]
      From worker 24:   333 evaluations for initialization+sweeps, 676 for Quasi-Newton
      From worker 24:    47.637365 seconds (295.31 k allocations: 10.299 GiB, 2.14% gc time)

**ERROR: LoadError: AssertionError: xsplit[1] < xsplit[2] < xsplit[3]**
Stacktrace:
 [1] (::getfield(Base, Symbol("##696#698")))(::Task) at ./asyncmap.jl:178
 [2] foreach(::getfield(Base, Symbol("##696#698")), ::Array{Any,1}) at ./abstractarray.jl:1866
 [3] maptwice(::Function, ::Channel{Any}, ::Array{Any,1}, ::UnitRange{Int64}) at ./asyncmap.jl:178
 [4] #async_usemap#681 at ./asyncmap.jl:154 [inlined]
 [5] #async_usemap at ./none:0 [inlined]
 [6] #asyncmap#680 at ./asyncmap.jl:81 [inlined]
 [7] #asyncmap at ./none:0 [inlined]
 [8] #pmap#215(::Bool, ::Int64, ::Nothing, ::Array{Float64,1}, ::Nothing, ::Function, ::Function, ::WorkerPool, ::UnitRange{Int64}) at /usr/local/julia/julia-1.1/usr/share/julia/stdlib/v1.1/Distributed/src/pmap.jl:126
 [9] (::getfield(Distributed, Symbol("#kw##pmap")))(::NamedTuple{(:retry_delays,),Tuple{Array{Float64,1}}}, ::typeof(pmap), ::Function, ::WorkerPool, ::UnitRange{Int64}) at ./none:0
 [10] #pmap#225(::Base.Iterators.Pairs{Symbol,Array{Float64,1},Tuple{Symbol},NamedTuple{(:retry_delays,),Tuple{Array{Float64,1}}}}, ::Function, ::Function, ::UnitRange{Int64}) at /usr/local/julia/julia-1.1/usr/share/julia/stdlib/v1.1/Distributed/src/pmap.jl:156
 [11] (::getfield(Distributed, Symbol("#kw##pmap")))(::NamedTuple{(:retry_delays,),Tuple{Array{Float64,1}}}, ::typeof(pmap), ::Function, ::UnitRange{Int64}) at ./none:0
 [12] top-level scope at util.jl:156
 [13] include at ./boot.jl:326 [inlined]
 [14] include_relative(::Module, ::String) at ./loading.jl:1038
 [15] include(::Module, ::String) at ./sysimg.jl:29
 [16] include(::String) at ./client.jl:403
 [17] top-level scope at none:0
in expression starting at /mnt/binxu001/register_vol/parallel_register.jl:40 

Seems this is still a problem! (Actually It's nice to see you guys found the source of error...as it's super hard to debug multiprocessing code. )

Cody-G commented 5 years ago

In this case the bug isn't related to parallelism. You should be able to reproduce it by trying to register the stack/frame that caused the error on the local process. If that's not the case let us know. Since both this and #13 could be explained by a rounding issue I wonder if they're really the same bug.

timholy commented 5 years ago

This was probably fixed by #14