diff --git a/CITATION.cff b/CITATION.cff index 3ed1af1..b152bc2 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,8 +1,8 @@ cff-version: 1.2.0 type: software -title: Spectra.jl +title: SpectrumBase.jl message: If you use this software, please cite it using the metadata from this file. -repository-code: 'https://github.com/JuliaAstro/Spectra.jl' +repository-code: 'https://github.com/JuliaAstro/SpectrumBase.jl' authors: - given-names: Miles family-names: Lucas @@ -11,5 +11,5 @@ authors: - name: JuliaAstro email: astro@julialang.org website: 'https://juliaastro.org' -url: 'https://juliaastro.org/Spectra' +url: 'https://juliaastro.org/SpectrumBase' license: MIT diff --git a/Project.toml b/Project.toml index cfbb101..8827891 100644 --- a/Project.toml +++ b/Project.toml @@ -1,4 +1,4 @@ -name = "Spectra" +name = "SpectrumBase" uuid = "391af1a9-06f1-59d3-8d21-0be089654739" version = "0.1.0" authors = ["Miles Lucas "] diff --git a/README.md b/README.md index ae8e5d2..c68165c 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# Spectra.jl +# SpectrumBase.jl -[![](https://img.shields.io/badge/docs-stable-blue.svg?label=docs)](https://juliaastro.org/Spectra.jl/stable) -[![](https://img.shields.io/badge/docs-dev-blue.svg?label=docs)](https://juliaastro.org/Spectra.jl/dev) +[![](https://img.shields.io/badge/docs-stable-blue.svg?label=docs)](https://juliaastro.org/SpectrumBase.jl/stable) +[![](https://img.shields.io/badge/docs-dev-blue.svg?label=docs)](https://juliaastro.org/SpectrumBase.jl/dev) -[![CI](https://github.com/JuliaAstro/Spectra.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/JuliaAstro/Spectra.jl/actions/workflows/CI.yml) -[![codecov](https://codecov.io/gh/juliaastro/Spectra.jl/graph/badge.svg?token=EjMJcszaoQ)](https://codecov.io/gh/juliaastro/Spectra.jl) -![GitHub](https://img.shields.io/github/license/juliaastro/Spectra.jl.svg) +[![CI](https://github.com/JuliaAstro/SpectrumBase.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/JuliaAstro/SpectrumBase.jl/actions/workflows/CI.yml) +[![codecov](https://codecov.io/gh/juliaastro/SpectrumBase.jl/graph/badge.svg?token=EjMJcszaoQ)](https://codecov.io/gh/juliaastro/SpectrumBase.jl) +![GitHub](https://img.shields.io/github/license/juliaastro/SpectrumBase.jl.svg) Utilities for interfacing with astronomical spectra and synthetic spectra libraries. @@ -17,7 +17,7 @@ Utilities for interfacing with astronomical spectra and synthetic spectra librar Currently this package can only be installed from github. To do so, either clone this repository and install it or - pkg> add https://github.com/JuliaAstro/Spectra.jl + pkg> add https://github.com/JuliaAstro/SpectrumBase.jl from the `pkg` command line (Press `]` from Julia REPL) @@ -33,10 +33,10 @@ julia --proj julia> import Pkg # List tests -julia> Pkg.test("Spectra"; test_args = `--list`) +julia> Pkg.test("SpectrumBase"; test_args = `--list`) # Run specific testsets by name. Will match with `startswith` -julia> Pkg.test("Spectra"; test_args = `--verbose `) +julia> Pkg.test("SpectrumBase"; test_args = `--verbose `) ``` ### Docs diff --git a/docs/Project.toml b/docs/Project.toml index 737407d..04c3355 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -6,7 +6,7 @@ Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -Spectra = "391af1a9-06f1-59d3-8d21-0be089654739" +SpectrumBase = "391af1a9-06f1-59d3-8d21-0be089654739" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" UnitfulAstro = "6112ee07-acf9-5e0f-b108-d242c714bf9f" diff --git a/docs/make.jl b/docs/make.jl index 95c09cc..cd03dd0 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,21 +1,21 @@ using Documenter -using Spectra +using SpectrumBase using Unitful using Measurements using Revise Revise.revise() -DocMeta.setdocmeta!(Spectra, :DocTestSetup, :(using Spectra); recursive = true) +DocMeta.setdocmeta!(SpectrumBase, :DocTestSetup, :(using SpectrumBase); recursive = true) -makedocs(sitename = "Spectra.jl", +makedocs(sitename = "SpectrumBase.jl", format = Documenter.HTML(; prettyurls = true, - canonical = "https://juliaastro.org/Spectra/stable/", + canonical = "https://juliaastro.org/SpectrumBase/stable/", ), authors = "Miles Lucas and contributors.", linkcheck = !("skiplinks" in ARGS), - modules = [Spectra], + modules = [SpectrumBase], pages = [ "Home" => "index.md", "spectrum.md", @@ -29,8 +29,8 @@ makedocs(sitename = "Spectra.jl", ) deploydocs(; - repo = "github.com/JuliaAstro/Spectra.jl.git", + repo = "github.com/JuliaAstro/SpectrumBase.jl.git", devbranch = "main", push_preview = true, versions = ["stable" => "v^", "v#.#"], # Restrict to minor releases -) \ No newline at end of file +) diff --git a/docs/old_docs/fitting.md b/docs/old_docs/fitting.md deleted file mode 100644 index 3520dbf..0000000 --- a/docs/old_docs/fitting.md +++ /dev/null @@ -1,6 +0,0 @@ -# Fitting - -```@docs -Spectra.continuum -Spectra.continuum! -``` diff --git a/docs/old_docs/utils.md b/docs/old_docs/utils.md deleted file mode 100644 index 8fb1048..0000000 --- a/docs/old_docs/utils.md +++ /dev/null @@ -1,7 +0,0 @@ -# Utilities - -```@docs -Spectra.blackbody -Spectra.equivalent_width -Spectra.line_flux -``` diff --git a/docs/src/index.md b/docs/src/index.md index f20e4e5..0a90476 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -1,4 +1,4 @@ -# Spectra.jl +# SpectrumBase.jl Utilities for interfacing with astronomical spectra and synthetic spectra libraries. @@ -11,9 +11,9 @@ Pages = ["index.md", "spectrum.md", "transforms.md"] From the REPL, press `]` to enter Pkg mode ```julia-repl -pkg> add https://github.com/JuliaAstro/Spectra.jl +pkg> add https://github.com/JuliaAstro/SpectrumBase.jl -julia> using Spectra +julia> using SpectrumBase ``` ## Quick Start @@ -23,7 +23,7 @@ Here is a quick demo of some of our features. ### Spectrum construction ```jldoctest guide -julia> using Spectra, FITSIO, Unitful, UnitfulAstro, Plots +julia> using SpectrumBase, FITSIO, Unitful, UnitfulAstro, Plots julia> # fitsurl = "https://dr14.sdss.org/optical/spectrum/view/data/format=fits/spec=lite?plateid=1323&mjd=52797&fiberid=12"; @@ -60,14 +60,14 @@ For constructing higher dimensional spectra, e.g., for echelle or IFU spectra, s If you found this software or any derivative work useful in your academic work, I ask that you please cite the code. ``` -@misc{Spectra.jl, +@misc{SpectrumBase.jl, author = {Miles Lucas and contributors}, - title = {Spectra.jl: Utilities for interfacing with astronomical spectra}, - url = {https://github.com/JuliaAstro/Spectra.jl}, + title = {SpectrumBase.jl: Utilities for interfacing with astronomical spectra}, + url = {https://github.com/JuliaAstro/SpectrumBase.jl}, year = {2024} } ``` ## Contributing -Please see [Contributing](@ref contrib) for information on contributing and extending Spectra.jl. +Please see [Contributing](@ref contrib) for information on contributing and extending SpectrumBase.jl. diff --git a/docs/src/spectrum.md b/docs/src/spectrum.md index c680315..431fecb 100644 --- a/docs/src/spectrum.md +++ b/docs/src/spectrum.md @@ -4,20 +4,20 @@ Here we will go over the different spectral types and how we use them. ## Types -Spectra are defined as possible subtypes of `AbstractSpectrum`. You can use these directly for construction, or use the catch-all [`spectrum`](@ref) function, which is preferred. +SpectrumBase are defined as possible subtypes of `AbstractSpectrum`. You can use these directly for construction, or use the catch-all [`spectrum`](@ref) function, which is preferred. ```@docs -Spectra.AbstractSpectrum -Spectra.Spectrum -Spectra.SingleSpectrum -Spectra.EchelleSpectrum -Spectra.IFUSpectrum +SpectrumBase.AbstractSpectrum +SpectrumBase.Spectrum +SpectrumBase.SingleSpectrum +SpectrumBase.EchelleSpectrum +SpectrumBase.IFUSpectrum ``` ## Constructors ```@docs -Spectra.spectrum +SpectrumBase.spectrum ``` @@ -27,9 +27,9 @@ For more advanced transformations, see [Transformations](@ref) ### Getters ```@docs -Spectra.spectral_axis(::AbstractSpectrum) -Spectra.flux_axis(::AbstractSpectrum) -Spectra.meta(::AbstractSpectrum) +SpectrumBase.spectral_axis(::AbstractSpectrum) +SpectrumBase.flux_axis(::AbstractSpectrum) +SpectrumBase.meta(::AbstractSpectrum) ``` ### Array interface @@ -69,7 +69,7 @@ Unitful.ustrip We provide simple plotting recipes for spectra using [Plots.jl](https://github.com/juliaplots/plots.jl) ```@example -using Plots, Spectra +using Plots, SpectrumBase wave = range(1e3, 5e4, length=100) spec = blackbody(wave, 2000) diff --git a/docs/src/transforms.md b/docs/src/transforms.md index 571792a..b94ac5c 100644 --- a/docs/src/transforms.md +++ b/docs/src/transforms.md @@ -5,7 +5,7 @@ By leveraging [DustExtinction.jl](https://github.com/juliaastro/dustextinction.jl) we can apply common reddening laws to our spectra. ```jldoctest -julia> using Spectra, Unitful, Measurements, Random +julia> using SpectrumBase, Unitful, Measurements, Random julia> rng = Random.seed!(0); @@ -66,4 +66,4 @@ External interpolators, e.g., from [DataInterpolations.jl](https://github.com/Sc ```@docs SpectrumResampler -``` \ No newline at end of file +``` diff --git a/src/Spectra.jl b/src/SpectrumBase.jl similarity index 99% rename from src/Spectra.jl rename to src/SpectrumBase.jl index 4c61508..adfb718 100644 --- a/src/Spectra.jl +++ b/src/SpectrumBase.jl @@ -1,4 +1,4 @@ -module Spectra +module SpectrumBase # Uniform API export AbstractSpectrum, Spectrum, spectrum, spectral_axis, flux_axis diff --git a/src/transforms/resampler.jl b/src/transforms/resampler.jl index 1de68ad..4d1e5a1 100644 --- a/src/transforms/resampler.jl +++ b/src/transforms/resampler.jl @@ -8,7 +8,7 @@ Interpolation methods from many packages can be used without issue. Below we sho First, we set up an arbitrary spectrum and a linear interpolator from DataInterpolations.jl: ```jldoctest resampling -julia> using Spectra: SpectrumResampler, spectrum, spectral_axis, flux_axis +julia> using SpectrumBase: SpectrumResampler, spectrum, spectral_axis, flux_axis julia> using DataInterpolations: LinearInterpolation, ExtrapolationType diff --git a/src/utils.jl b/src/utils.jl index 919f921..e21171e 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -15,7 +15,7 @@ The physical constants are calculated using [PhysicalConstants.jl](https://githu # Examples ```jldoctest -julia> using Spectra, Unitful, UnitfulAstro +julia> using SpectrumBase, Unitful, UnitfulAstro julia> wave = range(1, 3, length=100)u"μm" (1.0:0.020202020202020204:3.0) μm diff --git a/test/Project.toml b/test/Project.toml index 512392c..dd78d1c 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -6,7 +6,7 @@ Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" ParallelTestRunner = "d3525ed8-44d0-4b2c-a655-542cee43accc" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -Spectra = "391af1a9-06f1-59d3-8d21-0be089654739" +SpectrumBase = "391af1a9-06f1-59d3-8d21-0be089654739" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" UnitfulAstro = "6112ee07-acf9-5e0f-b108-d242c714bf9f" diff --git a/test/aqua.jl b/test/aqua.jl index 9cd0124..8eb9403 100644 --- a/test/aqua.jl +++ b/test/aqua.jl @@ -1,3 +1,3 @@ using Aqua: test_all -test_all(Spectra) +test_all(SpectrumBase) diff --git a/test/runtests.jl b/test/runtests.jl index 595b212..1814ca0 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,8 +1,8 @@ using ParallelTestRunner: runtests, find_tests, parse_args -import Spectra +import SpectrumBase const init_code = quote - using Spectra: Spectra, Spectrum, SingleSpectrum, EchelleSpectrum, IFUSpectrum, spectrum, spectral_axis, flux_axis + using SpectrumBase: SpectrumBase, Spectrum, SingleSpectrum, EchelleSpectrum, IFUSpectrum, spectrum, spectral_axis, flux_axis using Measurements: Measurements, ± using Unitful: @u_str, unit, ustrip import Random @@ -11,4 +11,4 @@ end args = parse_args(Base.ARGS) testsuite = find_tests(@__DIR__) -runtests(Spectra, args; testsuite, init_code) +runtests(SpectrumBase, args; testsuite, init_code) diff --git a/test/transforms/redden.jl b/test/transforms/redden.jl index e899d48..895ae3f 100644 --- a/test/transforms/redden.jl +++ b/test/transforms/redden.jl @@ -1,4 +1,4 @@ -using Spectra: +using SpectrumBase: redden, redden!, deredden, diff --git a/test/transforms/resample.jl b/test/transforms/resample.jl index 1a599f1..ba1d9c9 100644 --- a/test/transforms/resample.jl +++ b/test/transforms/resample.jl @@ -1,4 +1,4 @@ -using Spectra: Spectra, AbstractSpectrum, SpectrumResampler, spectrum, spectral_axis, flux_axis +using SpectrumBase: SpectrumBase, AbstractSpectrum, SpectrumResampler, spectrum, spectral_axis, flux_axis using DataInterpolations: LinearInterpolation, ExtrapolationType using Unitful: @u_str, uconvert using UnitfulAstro @@ -36,7 +36,7 @@ end resampler = SpectrumResampler(spec, interp) expected = """ SpectrumResampler(Float64, Measurements.Measurement{Float64}) - spec: Spectra.SingleSpectrum{Float64, Measurements.Measurement{Float64}} + spec: SpectrumBase.SingleSpectrum{Float64, Measurements.Measurement{Float64}} interpolator: DataInterpolations.LinearInterpolation{Vector{Measurements.Measurement{Float64}}, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}, Vector{Measurements.Measurement{Float64}}, Vector{Measurements.Measurement{Float64}}, Measurements.Measurement{Float64}}""" @test sprint(show, resampler) == expected diff --git a/test/utils.jl b/test/utils.jl index fa2f7e3..971e4cd 100644 --- a/test/utils.jl +++ b/test/utils.jl @@ -1,18 +1,18 @@ -using Spectra: blackbody#, line_flux, equivalent_width +using SpectrumBase: blackbody#, line_flux, equivalent_width @testset "Blackbody T=$T" for T in [2000, 4000, 6000] wave = range(1e3, 5e4, length = 1000) b = 2.897771955185172e7 bb = @inferred blackbody(wave, T) - @test typeof(bb) <: Spectra.Spectrum + @test typeof(bb) <: SpectrumBase.Spectrum @test bb.T == T @test spectral_axis(bb)[argmax(bb)] ≈ b / T rtol = 0.01 wave *= u"angstrom" T *= u"K" bb = @inferred blackbody(wave, T) - @test typeof(bb) <: Spectra.Spectrum + @test typeof(bb) <: SpectrumBase.Spectrum @test unit(bb)[2] == u"W/m^2/angstrom" @test bb.T == T @test spectral_axis(bb)[argmax(bb)] ≈ b * u"angstrom*K" / T rtol = 0.01