A package for performing CCD data reduction and processing.
For in-depth API infromation and usage examples, please see the documentation. You'll recognize most of the familiar reduction operations allow us to quickly and easily operate on data.
using CCDReduction noise = randn(512, 512) bias_frame = reshape(1:262144, 512, 512) |> collect img = reshape(1:262144, 512, 512) .+ noise subtract_bias(img, bias_frame)
In addition to working on array-like data, we can directly load from a
FITSIO.ImageHDU or from a filename
using FITSIO # make fits file bias_frame = reshape(1:262144, 512, 512) |> collect FITS("master_bias.fits", "w") do f write(f, bias_frame) end img = 10 .* randn(512, 512) debiased = subtract_bias(img, "master_bias.fits")
Finally, we can use function chaining (or tools like Underscores.jl) for creating a simple processing pipeline!
using Underscores # 5 science frames imgs = (10 .* randn(512, 524) for _ in 1:5) # create pipeline using Underscores.jl pipeline(img) = @_ img |> subtract_overscan(__, (:, 513:524)) |> trim(__, (:, 513:524)) |> subtract_bias(__, "master_bias.fits") # apply pipeline to images using broadcast syntax calib_imgs = pipeline.(imgs)
This work is distributed under the MIT license. See LICENSE for more information.