@@ -285,8 +285,9 @@ struct SheppLogan3 <: EllipsoidPhantomVersion end
285
285
286
286
"""
287
287
ellipsoid_parameters_shepplogan( ; disjoint::Bool)
288
- `12 × 9 Matrix{Float64}` of 3D Shepp-Logan ellipsoid parameters.
289
- By default the first 6 columns are unitless "fractions of field of view",
288
+ `12 × 10 Matrix{Float64}` of 3D Shepp-Logan ellipsoid parameters
289
+ `(cx,cy,cz, rx,ry rz, Φ,Θ=0,Ψ=0, ρ)`.
290
+ By default the first 6 columns are unitless "fractions of field of view".
290
291
"""
291
292
function ellipsoid_parameters_shepplogan ()
292
293
@@ -311,7 +312,9 @@ who said that the Kak&Slaney 1988 values are incorrect.
311
312
]
312
313
params[:,1 : 6 ] ./= 2 # radii
313
314
params[:,7 ] .*= π/ 180 # radians
314
- out = [params[:,1 : 7 ] zeros (size (params,1 )) zeros (size (params,1 )) params[:,8 ]] # Θ=0, ψ=0
315
+ Θ = zeros (size (params,1 ))
316
+ Ψ = zeros (size (params,1 ))
317
+ out = [params[:,1 : 7 ] Θ Ψ params[:,8 ]] # (12,10)
315
318
return out
316
319
end
317
320
@@ -360,7 +363,7 @@ function ellipsoid_parameters_uscale(
360
363
(tmp[1 : 3 ] * uc .* fovs). .. ,
361
364
(tmp[4 : 6 ] * uc .* fovs). .. ,
362
365
(tmp[7 : 9 ] * ua). .. ,
363
- tmp[9 ] * uv,
366
+ tmp[10 ] * uv,
364
367
)
365
368
out[n] = tmp
366
369
end
@@ -390,10 +393,10 @@ function ellipsoid_parameters(
390
393
u:: NTuple{3,Number} = (1 ,1 ,1 ), # unit scaling
391
394
)
392
395
393
- params = ellipsoid_parameters_shepplogan () # (N,9 )
396
+ params = ellipsoid_parameters_shepplogan () # (N,10 )
394
397
395
- case == SheppLogan3 () || throw (" unsupported" )
396
- # params[:,9 ] = shepp_logan_values(case)
398
+ case == SheppLogan3 () || error (" unsupported case $case " )
399
+ # params[:,10 ] = shepp_logan_values(case)
397
400
398
401
out = ellipsoid_parameters_uscale (params, fovs, u... )
399
402
end
0 commit comments