Closed JeffFessler closed 1 year ago
Base: 99.63% // Head: 99.61% // Decreases project coverage by -0.01%
:warning:
Coverage data is based on head (
2bc70ee
) compared to base (65fafe8
). Patch coverage: 100.00% of modified lines in pull request are covered.
:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.
@JeffFessler
I just tried it out and now get an error:
DomainError with -Inf:
sin(x) is only defined for finite x.
sin_domain_error(::Float64)@trig.jl:28
sin(::Float64)@trig.jl:39
#34@parker.jl:88[inlined]
_broadcast_getindex_evalf@broadcast.jl:670[inlined]
_broadcast_getindex@broadcast.jl:643[inlined]
getindex@broadcast.jl:597[inlined]
macro expansion@broadcast.jl:961[inlined]
macro expansion@simdloop.jl:77[inlined]
copyto!@broadcast.jl:960[inlined]
copyto!@broadcast.jl:913[inlined]
materialize!@broadcast.jl:871[inlined]
materialize!@broadcast.jl:868[inlined]
parker_weight_fan_short(::Int64, ::Int64, ::Float64, ::Float64, ::StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, ::Vector{Float64}, ::Float64, ::Type{Float32})@parker.jl:98
parker_weight_fan_short@parker.jl:73[inlined]
parker_weight(::Sinograms.SinoFanFlat{Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(cm,), 𝐋, nothing}}, Float64}, ::Type{Float32})@parker.jl:118
parker_weight@parker.jl:115[inlined]
_fbp_weights(::Sinograms.SinoFanFlat{Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(cm,), 𝐋, nothing}}, Float64})@plan2.jl:142
#plan_fbp#53@plan2.jl:119[inlined]
reco(::ImageMetadata.ImageMeta{Float32, 2, Matrix{Float32}, Dict{Symbol, Any}}, ::Tuple{Int64, Int64}, ::Tuple{Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(cm,), 𝐋, nothing}}, Unitful.Quantity{Float64, 𝐋, Unitful.FreeUnits{(cm,), 𝐋, nothing}}}, ::Float64)@[Other: 34](http://localhost:1234/edit?id=315ae8ce-8aa2-11ed-1cdb-d15746ce3525#)
top-level scope@[Local: 13](http://localhost:1234/edit?id=315ae8ce-8aa2-11ed-1cdb-d15746ce3525#)
Apparently there is a division by zero in this line: https://github.com/JuliaImageRecon/Sinograms.jl/blob/main/src/fbp/parker.jl#L97
Not sure how to debug this further.
Huge overhaul here to improve type stability by eliminating
getproperty
, cf https://github.com/JuliaLang/julia/pull/48004Instead of
rg.ar
to get the angles in radians, now there are helper functions like_ar(rg)
. (For the angles in degrees, still useangles(rg)
.) The many helper functions are mainly for developers so they are not exported. If they are needed by non-developers then they should get better names before exporting.A major breaking change here is that
fbp
just returns the image now, instead of also the filtered sinogram, because that is the usual use. One can easily compute the sinogram if needed usingfbp_sino_filter
, as illustrated in one of the docs.