Spectral Processing
The following functions are used specifically for processing spectral differential imaging (SDI) tensors/cubes.
Index
HCIToolbox.invscale
HCIToolbox.invscale_and_collapse
HCIToolbox.scale
HCIToolbox.scale_and_stack
HCIToolbox.scale_list
API/Reference
HCIToolbox.invscale
— Functioninvscale(cube::AbstractArray{T,3}, scales)
Linearly contract each frame in cube
by the corresponding scale in scales
. Uses bilinear interpolaiton internally.
invscale(frame::AbstractMatrix, scale)
Linearly contract frame
with the ratio scale
. Uses bilinear interpolation internally.
HCIToolbox.invscale_and_collapse
— Functioninvscale_and_collapse(stack_cube::AbstractArray{T,3}, scales; kwargs...)
Given an SDI tensor that has been stacked into a cube, invscales each spectral slice and combines with collapse
. The output will be cropped to size
.
HCIToolbox.scale_list
— Functionscale_list(wavelengths)
Returns a list of scaling factors for aligning SDI tensors from a list of wavelengths.
Examples
julia> scale_list([0.5, 2, 4])
3-element Vector{Float64}:
8.0
2.0
1.0
HCIToolbox.scale
— Functionscale(cube::AbstractArray{T,3}, scales)
Linearly stretch each frame in cube
by the corresponding scale in scales
. Uses bilinear interpolaiton internally. The output size can be specified or else we will choose the smallest size that contains the largest stretch.
scale(frame::AbstractMatrix, scale)
Linearly stretch frame
with the ratio scale
. Uses bilinear interpolation internally.
HCIToolbox.scale_and_stack
— Functionscale_and_stack(spcube::AbstractArray{T,4}, scales)
Given a 4-D spectral ADI (SDI) tensor this function scales each temporal slice according to scales
and then concatenates into a cube with nλ * nf
frames.