Spectral Workbench
spectral-workbench

Support Public Lab Today! For the last twelve years, Public Lab has hosted SpectralWorkbench.org so that people everywhere can calibrate and analyze their spectra. Unfortunately, current circumstances have led us to scale back and take certain services offline. SpectralWorkbench.org will go offline as of August 15, 2022. The SpectralWorkbench platform runs on a combination of volunteer and paid labor by the many people that build, maintain, and operate it via Public Lab. This is an effective combination thanks to the culture of Public Lab's Coding Community. Public Lab's web ecosystem, including PublicLab.org, MapKnitter.org, SpectralWorkbench.org, Infragram.org and associated projects, takes 20 hours a week from three Code Coordinators and our sysadmin. While cost effective, it is not free. Web hosting and server costs for SpectralWorkbench are approximately $1000 per month. We are doing our best to sustain programming and support for our community, and we need your help. Thank you for being part of our community. We can't wait to be back online with you. Support Public Lab by making a donation today. ###What is Spectral Workbench? [SpectralWorkbench.org](https://spectralworkbench.org) is a web based application to collect, archive, share, and analyze spectral data, for Public Lab [DIY spectrometers](/wiki/spectrometer) and other spectrometers. With it, you can: * connect your USB [Desktop Spectrometry Kit](/wiki/desktop-spectrometry-kit-3-0) * scan and save samples * wavelength calibrate your spectrometer * plot light intensity as a function of wavelength (average digital consumer cameras have a range of 400 to 700 nm) * create sets of multiple spectra to visually compare and analyze scans * download CSV data for offline analysis * view others' data and discuss * find similar data in [a database of over 60k spectra](https://spectralworkbench.org/stats) No download is required -- just a web connection. The Chrome browser works best, but most standard-compliant browsers are supported. It is possible to use from an Android smartphone, preferably with the Firefox browser which allows you to specify which camera to look through. **** ###Contents * [Learn to use the software](/wiki/spectral-workbench-usage) * Learn about the [available tools](/wiki/spectral-workbench-tools) * Learn about [Calibration](/wiki/spectral-workbench-calibration) * Learn about the [Snapshots system](/wiki/spectral-workbench-snapshots) * Learn about the [Operations system](/wiki/spectral-workbench-operations) * [Spectrometry in general](/wiki/spectrometer) * [Applications & uses](/wiki/spectral-analysis) * [Construction](/wiki/spectrometer-construction) * [Desktop Spectrometry Kit](/wiki/desktop-spectrometry-kit-3-0) * [Foldable Mini-Spectrometer](/wiki/foldable-spec) * [Troubleshooting](/wiki/spectral-workbench-help) * [API Docs](/wiki/spectral-workbench-api) **** ###Intro video ## Browsers Spectral Workbench should work on Chrome (in Windows/Mac/Linux/Android, but not iOS), Firefox (Windows/Mac/Linux/Android), or Opera (Android). It may work on other browsers and we are working on expanding coverage; read more on this page: https://github.com/publiclab/spectral-workbench.js/issues/87 **** ## Development Do you code? The codebase of Spectral Workbench is available at https://github.com/publiclab/spectral-workbench. The server is written in Ruby on Rails, with a lot of client side code in JavaScript. You can read about [the JavaScript API here](/wiki/spectral-workbench-api). We really need more developers, so if you are interested, please get involved! A great place to start is the "plots-dev" mailing list for software developers: http://publiclab.org/wiki/developers **** ## FAQ We're collecting and working our way through a range of questions about Spectral Workbench -- if you can contribute your own questions, or answer others', please do! [questions:spectral-workbench] **** ## Troubleshooting If you feel you've encountered a bug with the software -- very possible! Please look through existing issues listed here, file a new one if you don't see something similar, and help to add any observations to existing issues shown here. Thanks for helping improve this open source software! [questions:spectral-workbench-issues] ...


Author Comment Last activity Moderation
MrBumper "I'd really like a stand alone version so I can store, organise and delete captured data and take measurements without an internet connection. If at..." | Read more » almost 10 years ago
ke4rjg "In the live view, I should be able to mouse over a point on the spectrum to read the wavelength. In the live view, I should be able to see a time-..." | Read more » almost 10 years ago
warren "Great suggestion, Dave. There was an issue open for that by @cfastie, which I've moved over to https://github.com/publiclab/spectral-workbench/issu..." | Read more » almost 10 years ago
stoft "Issue 1: Set curve downloads There is a selection of file types for a single curve plot data download but that option is not available for a displa..." | Read more » almost 10 years ago
mathew "also really sweet-- the live view of the whole video image + the sample line in the upper left corner. " | Read more » about 10 years ago
stoft "They look good in the pic. It is difficult to get a ideal gradients with actual dots or lines. You might try attenuating the florescence light vs l..." | Read more » about 10 years ago
mathew " gradient_print.pdf @stoft just got these back. The silver nitrate emulsion is line-screened at 300dpi, and goes from 100% black to 100% clear..." | Read more » about 10 years ago
mathew "@stoft I just sent off a group of fades on acetate to the photo printer we use for our slits. We'll try it out soon. " | Read more » about 10 years ago
btbonval "On the plots, it looks like you have linearly sampled x-data, around 300 nm to 700 nm. The question is whether each x-value is equally spaced. If t..." | Read more » about 10 years ago
warren "The interval is from pixel width on the sensor, so I think it's a safe assumption? " | Read more » about 10 years ago
btbonval "@warren You aren't taking integrals, you're accumulating y-values. This might be equivalent if and only if the difference between x-value samples ..." | Read more » about 10 years ago
btbonval "In numpy, it'd be fairly easy. # establish that x and y are 1d vectors xdata = data[0,:] ydata = data[1,:] # perform cumulative sc..." | Read more » about 10 years ago
warren "Hi bryan - my code is here: https://spectralworkbench.org/macro/warren/centroidish -- I wonder if you did an implementation how different the line ..." | Read more » about 10 years ago
btbonval "If you have access to matrix math, I can vectorize the previous algorithm to speed it up. If you're in client javascript, I'm unaware of any good v..." | Read more » about 10 years ago
btbonval "Here's a dirty and slow way to determine the 50% mark: Firstly, normalize your data by dividing the integral (area under the curve). The area unde..." | Read more » about 10 years ago
stoft "btbonval - point taken, centriod is for 2D; their line just represents the 'center of distribution' " | Read more » about 10 years ago
stoft "btbonval - true. I was just suggesting a fast integer approximation as a simple means to test and get a 1-number result. The existing work in patte..." | Read more » about 10 years ago
btbonval "@stoft the centroid would be a point (x,y), not a line (x=B for all y). sorry to nitpick verbiage. I got all mathy in this post, figured I'd keep u..." | Read more » about 10 years ago
btbonval "What @stoft described in the first message is usually accomplished using a matched filter in DSP. http://en.wikipedia.org/wiki/Matched_filter " | Read more » about 10 years ago
stoft "I think the term you are looking for is the "centroid" -- think of it as the point where the shape/volume/whatever would be physically balanced -- ..." | Read more » about 10 years ago
btbonval "@warren The line that you describe would be the weighted mean of the dataset (integral divided by two, aka area under the curve divided by two as @..." | Read more » about 10 years ago
mathew "@stevie running three samples and averaging them is a great idea. You can see in the labels that I started running 3-5 tests per sample to go for ..." | Read more » about 10 years ago
mathew "@stoft Dave, we're getting similar brightnesses between our readings of different oils by varying the concentration and/or light path, which seem t..." | Read more » about 10 years ago
warren "I don't know the word for this kind of thing, but maybe @btbonval does :-) The line divides the graph into two equal areas: " | Read more » about 10 years ago