Spectral Processing

The following functions are used specifically for processing spectral differential imaging (SDI) tensors/cubes.

Index

API/Reference

HCIToolbox.invscale — Function
invscale(cube::AbstractArray{T,3}, scales)

Linearly contract each frame in cube by the corresponding scale in scales. Uses bilinear interpolaiton internally.

source
invscale(frame::AbstractMatrix, scale)

Linearly contract frame with the ratio scale. Uses bilinear interpolation internally.

source
HCIToolbox.invscale_and_collapse — Function
invscale_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.

source
HCIToolbox.scale_list — Function
scale_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
source
HCIToolbox.scale — Function
scale(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.

source
scale(frame::AbstractMatrix, scale)

Linearly stretch frame with the ratio scale. Uses bilinear interpolation internally.

source
HCIToolbox.scale_and_stack — Function
scale_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.

source