Rarely Used OceanView Nodes with Big Impacts
Part 1: Concentration Tool via Broadband Absorbance
We all take the power of software for granted in our everyday lives. Today we communicate seamlessly with anyone anywhere, we can buy a plane ticket that departs the same day and plan every aspect of the itinerary while waiting to board (or while on the plane itself), we can analyze our entire diet and exercise habits to make better choices and predict future health concerns. And all that’s using just the smartphone in your pocket.
In the discipline of spectroscopy, a quiet revolution is happening. Spectral analytics were once reserved for the “experts,” those who knew how to process and read feeds from spectral devices. But as both education and technology advance, concepts that were once considered “advanced and cutting edge” are now routine in undergraduate curricula, and tools that were reserved for the best-funded laboratories and facilities are offered as a reduced-price (or free) student edition that runs on any common laptop. This opens the door to many possibilities that were previously locked away from the majority.
OceanView is one of the tools that years ago would have been reserved for the few, but today is accessible to all. Ocean Optics is known for its world-class spectrometers used by R&D labs, in industrial facilities, and even as part of a memorable trip to the moon. But the software side of spectroscopy has also seen massive advances that have not had as much focus or publicity. In this Tech Tip we will look at some of the hidden heroes of OceanView, features that move your work forward in unexpected ways and unlock possibilities you may never have imagined.
Schematic View is the most unique feature to OceanView as it provides a highly visual set of relationships between your spectral devices and the tasks you are employing them for. Perhaps you’ve used similar interfaces in LabVIEW or MATLAB’s Simulink extension. The Schematic View library of operating nodes is massive and powerful, and the schematics you build can be saved and transferred to other computers and spectrometers.
You may have wondered about that panel on the left side of the OceanView interface, and just as easily may have hidden it away behind the main graph displays. But make no mistake, Schematic View is where your greatest OceanView capabilities will be found. Once you’ve created a couple of schematics yourself, we are confident this will snowball into some surprisingly useful schematics.
When you start OceanView you see the Schematic View on the left with your active spectrometers and some other nodes (Figure 1).
Figure 1: Devices in OceanView Schematic View
The green nodes are the Acquisition nodes for the spectrometers they are attached to, and can adjust integration time, averaging, boxcar smoothing, and many other spectrometer parameters and features. For example, this is also where Burst Mode (which allows onboard processing) can be enabled for the Ocean FX high speed spectrometer. We see that both Acquisition nodes feed into a Graph Display node labeled View_2, and the respective View_2 plot is shown to the right of the Schematic Window.
Right-clicking in the Schematic area brings up a menu of Nodes that you could spend several hours or even days investigating. Figure 2 shows an example of this with the Basic Math menu expanded.
Figure 2. OceanView Schematic Menu
While we encourage you to investigate all the menu options, we understand not everyone has that kind of time. Here is a useful productivity-hack: The Spectroscopy Wizards feature will preconfigure processing schematics for you, which you then are free to adjust. This is a big time-saver when, for instance, you need only to isolate an absorbance peak value or other processed item without building an entire schematic by hand.
Before we get into the hidden heroes that exist within the OceanView Schematic, let us highlight some of the most common nodes that are used for everyday tasks:
Table I: Commonly Used Schematic Nodes
|Add/Subtract||Performs basic spectral math||Baseline correction, adjusting scalars|
|Average||Reduces array to single value||Turns spectral range into scalar value (peaks, baselines)|
|Graph View||Displays feed as live graph||Visualizes raw feeds or complex processes|
|Constant||Numerical value for math functions||Process coefficients, scaling and/or shifting spectral feeds|
Using just these few nodes we can accomplish quite a bit, but hidden deeper within these menus are other options that will take your measurements and analysis to the next level.
Getting Concentrations Right for a Nickel Plating Bath Application
Let’s look at a hypothetical scenario: We have a standard solution of nickel chloride we want to use for some semi-bright electroplating. The concentration is a bit high so we need to make some serial dilutions to figure out an appropriate concentration to mix with the nickel sulfate and boric acid components. For future solutions it would be ideal to have a quick spectral method to confirm concentrations. The stock solution is labeled at 80g/L NiCl2, and we’ve made some dilutions that should be around 60g/L, 40g/L, and 30g/L (Figure 3). After making these, a veteran employee informed us that 45g/L is an ideal concentration for the nickel finish we’re looking to achieve.
Figure 3: Nickel Chloride Solutions (g/L)
When we run through the Absorbance Wizard in OceanView using DI water as our light reference, we see an absorbance flow schematic generated (Figure 4).
Figure 4: Auto-Generated Absorbance Flow
Look at the node descriptions in the Figure 4 diagram to understand how this structure achieves the standard absorbance equation:
The AbsorbanceView_15 Graph node now allows us to view our sample absorbance, and we start by looking at the most concentrated stock nickel chloride sample at around 80g/L (Figure 5). The strongest peak occurs at 395 nm with some additional broad activity around 655 nm and 720 nm. Our sample appears to have near-perfect transmission (or zero absorbance) at 500 nm, which may be a good baseline.
Figure 5: Nickel Chloride UV-Vis-NIR Absorbance
This outcome looks beautiful, but what do we do from here? One powerful use of our first hidden-hero node is to adjust the baseline for absorbance measurements that may suffer from poor optical repeatability, such as the cuvettes in our test case or probes held against a sample.
Subrange: Divide and Conquer
One may argue the best part about modern spectrometers versus antiquated scanning spectrometer systems is the ability to acquire the full broadband spectrum all at once. If that isn’t enough, modern detectors and bench designs provide these 1000+ pixel feeds at microsecond speeds. But your sample is only active in a limited wavelength range, and the baseline region you want to use is likewise in another limited segment. How do you deal with processing only around those regions while ignoring the rest? Subrange is the tool to save the day here.
We are confident that our nickel chloride solutions should have essentially zero absorbance at 500 nm, so by using Subrange to isolate that region and then subtracting that from the live feed our plot will always zero itself, or “peg” itself, at 500 nm (Figure 6).
Figure 6: Subrange Node at 500 nm
However, when we try to subtract this Subrange from the live feed we see an Incompatible Data error (Figure 7).
Figure 7: Node Error
Remember the Average node from Table I? This will allow us to reduce this baseline array to a single number that will behave properly through a math operator. Send the Subrange node to an Average node, then create a subtraction branch to pull this out of the processed absorbance, like the Dark Background subtraction at the beginning of the flow. Finally, send the subtracted signal to the same Graph node or a new Graph node (Figure 8).
Figure 8: Averaged Baseline Correction
To demonstrate what we’ve accomplished with this simple schematic modification, look at how cuvette movement propagates to the absorbance signal of the raw feed on top versus the baseline corrected plot below (see Figure 9 animation). While both plots jump at first, the bottom plot always snaps-back to its original baselined position despite the angle of the cuvette.
Figure 9: Baseline effects are captured in this animation.
This is an extreme example. Users should always ensure that cuvettes are snugly positioned in their optical holders, but the broader concept is a powerful one for rugged field or industrial applications that suffer from unstable optical hardware.
For highly repeatable cuvette measurements, check out the new Square One Cuvette Holder with multiple optical configurations in a single, highly engineered package.
Scalar View/Unit Labels
Now we have a nice absorbance scope with a reassuring baseline correction built-in, but we’re curious to see the peak absorbance values of the various dilutions we made. The large peak at 395 nm looks like a great metric for concentration correlation. To have an isolated scope into that peak value we will use our familiar Subrange and Average nodes focused around 395 nm. Using a Scalar View node creates a convenient display of just the value you care about, and coupled with a Unit Labels node also provides easy-to-read labelling (Figure 10).
Figure 10: Scalar View of Peak Value
Linear Regression/Evaluate Function/File
At this stage we’ve done well setting up a nickel chloride absorbance profiler so anyone can drop in a fresh cuvette of aqueous NiCl2 and see a baseline-corrected UV peak value. But we have the tools to take this to the next level, to develop a deeper relationship between spectra and knowledge of our system. We’ve made the dilutions pictured in Figure 3 and noted the 395 nm absorbance values for each; these were plotted to develop an expected linear relationship between absorbance and concentration, as seen in Figure 11.
Figure 11: Nickel Chloride Calibration Plot
Traditionally, this calibration plot would be reversed, showing the absorbance response as the y-axis and then solving for “x” to determine nickel chloride concentration as the output. Since the relationship here is so straightforward, we simply plot the output as concentration. Using a simple multiplication node to make this conversion, we can easily make a nickel chloride concentration meter with excellent readings when checking against our samples (Figure 12).
Figure 12: Concentration Values via Multiplication
While this is impressive, OceanView is even more powerful and can perform the linear (or polynomial) regression directly within the schematic. This allows you to reference external calibration files that may be large or need regular updating for various reasons. Let’s look at how to arrange a more advanced concentration correlation schematic. The key flow for using external data files for spectral correlations is shown in Figure 13.
Figure 13: File, Regression, and Function Nodes
The File node allows you to reference some text file (.txt) that contains the numerical trends you are trying to correlate. Here we created a file called NiCl2_Cal.txt that has the absorbance and concentration data separated by a quick hit of the Tab key (aka “tab delimited”). When you reference that file from the node window, it will display a plot as shown in Figure 14, which is useful to confirm the numbers are being read properly. The Linear Regression node will take these numbers and perform the type of fit you specify, with 1st order just being a linear fit and polynomial orders increasing from there; you can also set the intercept to zero if that is a known point. Figure 14 shows that the linear fit with zero intercept yields the same coefficient value we found in Excel. Now when we pass our absorbance value through the Evaluate Function node as the x-value, it will give us the same results we had with our simpler multiplication approach.
Figure 14: Using External Calibration Data and Function Evaluator
The power here is that we can now update the calibration data in this schematic without changing the schematic itself. Rather, we can simply direct the File node to the most up-to-date calibration numbers and the schematic will use those for the regression. If you recall, we were trying to get to a nickel chloride concentration of about 45g/L, and now we have a tool to check our latest dilution to see if we’re relatively close (Figure 15).
Figure 15: Output of Desired 45g/L Sample
What we’ve shown here has merely scratched the surface of what OceanView can do to create advanced tools for your lab or process line.
When making concentration meters with your spectroscopy system, remember the tips for baselining and peak acquisition. Take a range of concentrations or even samples with known impurities and look at all spectra in a single plot. Is there some region where the optical signal doesn’t seem to change between samples? Perhaps that could be used as a stabilizing baseline region. Is there one peak that outweighs all others, or one that is not being influenced by other components in the sample(s)? Perhaps that is your best analytical peak region. You can develop more complex relationships using multiple peaks and their relation to each other. The possibilities are nearly endless.
Also, the Ocean Lab Services team is always available to provide expert insight into your samples to better select spectral hardware and understand optimal processing methods. Stay tuned to future postings for the second part of the Tech Tip on this topic, which will focus on Raman systems and the powerful peak analytics capabilities that are crucial for Raman measurements.