ideas icon indicating copy to clipboard operation
ideas copied to clipboard

Free open-source spectrometer app

Open KOLANICH opened this issue 6 years ago • 2 comments

Project description

All the closed-source spectrometer apps I have seen are very limited and supported damn badly. In fact some of them are not supported at all and users are advised to buy a new spectrometer if they need a new app. We need a really modular free open-source spectrometer and scientific spectra processing app.

Features needed:

  • spectra acquisition
    • modular architecture
      • a plugin for each spectrometer type:
        • grating + CCD sensor
        • fourier transform (interferometer-based)
        • monochromator-based
      • a plugin for each spectrometer line
    • and each spectrometer line plugin is in a separate package, each plugin package depends on packages implementing drivers, udev rules and libraries to work with them.
    • calibrations and baseline corrections
    • configuring acquisition params, like integration time
    • controlling light sources
    • averaging
  • saving spectra into different formats, preserving the metadata, such as spectrometer types, calibrations,
  • reading spectra from different formats
  • spectra preprocessing
  • chemical compounds identification (different methods, the simplest one is to just use a database of spectra) and mixture separation
  • thin films analysis
  • motorized stage control and mapping the sample
  • scripting with python

Relevant Technology

There are several 2d-data processing apps, having support for 1d data. May be useful.

Complexity and required time

Complexity

  • [x] Advanced - The project requires the user to have a good understanding of all components of the project to contribute

Required time (ETA)

  • [x] Much work - The project will take more than a couple of weeks and serious planning is required

KOLANICH avatar Feb 22 '19 19:02 KOLANICH

Have you checked/asked at publiclab.org (not affiliated). Have you already tried some software? If so which software have you tried and why wasn't it appropriate?

publicsite avatar Aug 31 '22 17:08 publicsite

  1. Have you checked/asked at publiclab.org

No, but probably should.

  1. (not affiliated).

It's OK to be affiliated.

  1. Have you already tried some software?

I have written a simple app capturing spectrum using SeaBreeze library, drawing it using DearImgui and also processing in real time using the algos not available in SpectraSuite, for example I used several impls of sketches, but 2BH none of them has given fancy results, the best results have been given by exponential moving average.

If so which software have you tried and why wasn't it appropriate?

As I have said, I tried SpectraSuite (the stock software shipped with the spectrometer) and my software. The stock software has some builtin corrections, likely PRNU correction and a nonlinearity correction. In my software it is yet unimplemented. Also stock software has capabilites to do file io, for mine software it is not yet implemented, I gonna implement it after I change the GUI toolkit to something more native and less CPU consuming than DearImgui (it eats 100%), but it must be lightweight, not Qtk and must have a good integrated plotting library. On Linux Qt and Qwt are OK, but an app targetting Windows has to carry its deps with itself, and for it lot of MiBs of Qt libs are not OK for such a simple app.

KOLANICH avatar Aug 31 '22 17:08 KOLANICH