# \[ANN\] SPEFiles.jl a package to read Teledyne Princeton Instruments' Lightfield SPE Files

**URL:** https://discourse.julialang.org/t/ann-spefiles-jl-a-package-to-read-teledyne-princeton-instruments-lightfield-spe-files/88253
**Category:** Package Announcements
**Tags:** package, tables, spectroscopy
**Created:** [October 4, 2022, 8:08pm UTC](https://discourse.julialang.org/t/ann-spefiles-jl-a-package-to-read-teledyne-princeton-instruments-lightfield-spe-files/88253 "2022-10-04T20:08:09Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![klafyvel](https://avatars.discourse-cdn.com/v4/letter/k/a587f6/32.png) [@klafyvel](https://discourse.julialang.org/u/klafyvel)
#### Post date: [October 4, 2022, 8:08pm UTC](https://discourse.julialang.org/t/ann-spefiles-jl-a-package-to-read-teledyne-princeton-instruments-lightfield-spe-files/88253/1 "2022-10-04T20:08:09Z")

</div>

I am very happy to announce the release of [SPEFiles.jl](https://github.com/Klafyvel/SPEFiles.jl), a package to read Lightfield SPE files.

[Lightfield](https://www.princetoninstruments.com/products/software-family/lightfield) is software that is used by spectroscopists to control spectrometers. `SPEFiles.jl` provides a pure Julia reader of them, with a `Tables.jl` interface which allows usage with `DataFrames.jl`. `SPEFiles.jl` handles simple one-dimensional spectra, as well as more complex multi-frames, multi-ROIs 2D spectra. It also allows reading commonly used metadata such as exposure.

An example of how to use it would be :

```julia
using SPEFiles, DataFrames, CairoMakie

file = SPEFile("myfile.spe")
df = DataFrame(file)

f, ax, l = lines(df.wavelength, df.count, 
    axis=(
        xlabel="Wavelength (nm)",
         ylabel="Counts", 
        title="My spectrum"),
        subtitle="Exposure : $(exposure(file)) ms"
    )
)
save("myspectrum.png", f)

```

Contributions and sugestions are welcome !
