I'm Michael Royer. And in this video, I'll be introducing the web-based spectral calculator that is available at spectralcalculator.pnnl.gov and at ies.org/spectralcalculator. The application was developed at PNNL by myself and programmer Amruth Gorantla in collaboration with the IES Color Committee and IES staff. As I mentioned, it's available on both web pages, free and open source.
This online spectral calculator is the reference implementation of TM-30, and it's intended to replace the Excel tools that were previously issued. It also provides calculations of CIE S026, which are performed via the Luox App, which has been vetted by CIE. Some of the important features are that we can input via SPDX, pasted data, or an Excel template, one or thousands of SPDs at a time.
We can download the results as PDFs, images, SPDX files, or Excel data, and that includes the recommended specification sheets of TM-30 and XD. You can temporarily save SPDs to a user library to compare and sort, and that library can be saved to your computer and shared with others for re-upload. No data is ever saved to the servers beyond the active session. Next, I'm going to demonstrate each part of the spectral calculator online tool. I'll conclude with describing some future development that we have planned. Thanks for listening.
Thank you for listening to this demonstration of the PNNL spectral calculator, also available from the IES web page. I'm going to talk through a little bit about how to use the calculator and the different features for inputting data, calculating results, and saving the information to your local computer. When you first visit the spectral calculator webpage, you'll find this pop-up window that provides an overview of the tool and the calculations it performs, including relevant citations and contact information.
It also provides instructions for use describing the navigation, data input, results, and library sections of the calculator tool. It also includes a version history so you can see if there are any changes since the last time you visited. One of the nice things about this being an online calculator is that whenever you visit, it's always going to be the most up to date version, and you don't have to worry about having an old Excel file that isn't up to date with the current standard.
When you're finished reading, you can click Close here. If you do happen to need the user manual again, there's a link down here in the footer, and you can click that to bring it up again right where you left off. You can also see down in the footer, there's a link to provide feedback in case you have any comments or questions about the tool. There's some supporting data that you can download related to the calculations, and there are some useful links to the standards and information about them.
For the rest of this demonstration, I'll work through navigating the calculation tool and performing calculations, saving results, and using the libraries. Stay tuned.
So here we have the data input page, and you can see that there's several methods for inputting data into the tool. I can input things one at a time, or I can input thousands of SPDs at a time and perform all those calculations at once.
On this page here you can see at the top left, one of the options is to call from library. We'll get into the libraries a little bit more. But just to point out here, once you do have a library, you can get a dropdown menu. This is a searchable dropdown. I can click one of those, pull up more information about it. And if I have the right one that I want, I can hit Calculate here, and that'll take me to the results page where I can see all the details of the calculations.
I can also add information to my own library. If I had already had SPDs in the library, I'd see another dropdown here. But because I'm new to this session, I don't have any SPDs in there. And if I wanted to, I can click this button, I can input data into the user library several different ways, which I'm going to cover in one of the future demonstrations. Also on this page, I can import via SPDX file. That's the IES TM-27 format, which is a standardized XML format for spectral data.
Here, I'm not going to demonstrate it, but I just choose a file. And if I have one of those on my computer, I can select it. And the metadata and all the information will load just like you see in this card here. One of the other ways we can enter data is by pasting it directly into this tool. To do that, I need to specify a little bit of information about the SPD. What's the start wavelength, the end wavelength, and the interval of the measurements?
There is some error tracking built in here. So for example, if I enter a number here that's too low for what is required to calculate TM-30 values, it's not going to let me perform that calculation until I get at least up to the 700 nanometer on the end wavelength. Preferably 780 nanometers. Here I can specify the interval. This currently does integer values, and I can go up to 5 nanometers.
So I'm going to hit Create Table here, and that brings up these blank fields. I have an SPD here, over on the side of my screen that you won't see. But I'm going to grab this data, and pull it over, and I can paste it here using keyboard shortcuts. One of the things here, you'll see this message window letting you know that if you're pasting from Excel, it's only going to grab what's visible in the screen even if in each of those cells underneath there's higher precision data.
So what you want to do is just make sure your display settings in Excel are such that it shows all of the data that's in that actual cell. Once you've done that, you can close that window if you wish. Here, you can see I can also select the types of calculations I want to perform. There's obviously only two right now. But as we expand this in the future, there will be the options to include other ones, and you may or may not want to do them all at once.
So here if I want to add CIE S026 alpha-opic calculations, I need to add some additional information to that so I have the absolute values of my SPD. And if I enter this and it's relative, I need to provide a luminance. Or if I have an absolute value, I need to give it what type of measurement is it, and what are the units?
Also when I'm entering an SPD, I generally want to input this metadata. You don't have to, but particularly this first one here, the unique identifier, we want to add that because that's going to give it the name throughout this tool on the results pages and if I want to add it to the library. So once I've added everything I want to add, I could send this straight to my library and just save it there, or I can hit Calculate, which is going to take me to the results section. And there, I can see a detailed TM-30 color rendition report. And I'll go through how we navigate to different results in the next demonstration.
So here we are having performed a calculation on the results page. The first thing that's always going to come up is the TM-30 full report, but I can use this orange dropdown to change this to a number of other different views. I can do a TM-30 simple report, this is what is specified in Annex D of TM-30, or the intermediate report, or back to the full report.
I could also look just at numerical data if I want to see the raw numbers, or I can jump over to the S026 alpha-opic data, and I can see the numerical data related to that in this chart. And I can change this chart if I want to snip this for some reason and use this graphic. I want to go back over to the full report here.
One neat feature here is that I can change this metadata that's at the top. I can, for example, delete this field, and I want to add another field. I can choose that, and save it. I can Live Edit these fields. So if I want to change the manufacturer here, I'll put in data. And this is going to print out with the report without this menu items going along with it.
So once I have a report and I want to get the information out of this tool, there's a couple of different ways to do it. One way is I can download the current report image, either as an image or as a PDF. So I can pick a high resolution PDF here. This is going to create that PDF. Takes just a moment. It's going to pull up my Save window, I'll save it, and no I can pull it up. And you can see it's a neatly formatted 8 1/2 by 11 PDF of the TM-30 full report.
I could also download an SPDX file. SPDX is actually not that common yet even though it's been around for a while. And perhaps one reason is there's not been an easy way to create that file. Well, now there is with this tool. So this is one way you can save an SPD and share it with someone else pretty easily, and they could import it right back into this tool.
I could also download the complete TM-30 data either as a JSON file, that's another type of text file that'll just allow me to re-import into this tool, or in Excel with either full precision or rounded precision. Similarly, if I'm on the alpha-opic data, I can download this in Excel format.
Another way we can get information out of this tool is by directly copying these plots or downloading them. So here, I can download these as a PNG image file, which I can save and take over to PowerPoint or some other software that I'm using where I want to display this image.
You can also see that came along with this pop up, I can get information about the particular chart I'm looking at. And with the CVG in particular, I can do a little bit of formatting. I can change the bin lines, the labels, and the circles here and turn them on and off as I wish.
So that's generally what we can see in the results section. And what I can also do is send this over to the user library if I want to get back to it later, and that will be the topic of my next demonstration.
One of the most important parts of the spectral calculator is the libraries. There are two of them, the example library and the user library. Here, I'm on the example library page, and I can see it's populated with 318 SPDs. They're the same ones that were in the Excel versions of the TM-30 calculators. And the purpose is just to provide a demonstration of the capabilities of the tool, and how different SPDs can vary.
This is not a sample of any set of SPDs, and it really shouldn't be used for research purposes or for design purposes. It's strictly just an example. So with this library, I can sort based on any given quantity. So on the Fidelity Index or the Gamut Index, for example. I can expand any row to see the full 16 values for local chroma shift, local hue shift, and local color fidelity.
I can click View to see the 99 sample color fidelity values. I can also see P levels, V levels, and F levels of these SPDs. I can preview any of the different reports. And we'll just pull up a window right within the library here. And if I like what I see, I could click Go to Report and it'll take me over to the results page where I can print those individual reports or view the data in more detail.
I can also slide over here and see the alpha-opic calculations and all the results of those. Up top here, I can show and hide columns. So if I want to add a different type of metadata, I can do that. If I only want to see certain TM-30 values, I could do that. If I want to take on or off all of the alpha-opic data, I can do that as well.
I can also change how many results I'm viewing per page. So I can change that from 10 to 20. It allows me to scroll through these if I want to view them all at once. I can also filter data. So here, if I want to pick the Rg value and say I want it between 90-- 110 is the high point and 90 as the low point, hit Done. And we'll see now that I'm just showing our g values from 90 to 110.
There's also different ways to download the data. I'll get into this more as I move on to the next demonstration, which is of the user library. Unlike the example library, the user library is not prepopulated with data. So it's up to you to add the SPDs and create your own sets as you're using the tool. There are a number of different ways I can add SPDs to my user library. One is as I'm working.
And as I mentioned earlier, if I have a Results page or even if I'm on the Data Input page, I can send an SPD directly to the library by clicking the green button. You'll see the notification here. And if I want, I can follow the link in that notification. And see that now I have that one SPD in my library.
The other way to add SPDs is to use this Add to Library button, which gives me three different options for adding multiple SPDs at one time. Working in reverse order here, one of the options is to import multiple SPDX files at one time. So if I click this button here, and then I go over to my file browser, which you can't see on the screen yet, and I'll drag over a set of SPDX files, and click Load. It'll take just a minute, and now I have the results for all five of those SPDs added to my library.
I can edit this library by deleting individual files or clearing the entire library. I can also add to the library using a JSON file. Now, JSON is a type of file, and we predefined a format specifically for this calculator which allows us to save it to our local machine and then re-upload it at any time. And this is important because the library doesn't actually ever save any data to the server. We have no user accounts or a way to track that data, which is important because there was some concern expressed by others about the privacy when using this tool.
So it's incumbent upon the user, if you want to save this information for later use, to download it in this JSON format, and it makes it really easy to re-insert it into the tool as you're using it the next time, or to even share that whole file with someone else. For example, a manufacturer might want to create a library with all their SPDs, and then they could share it with any client who wishes to have the data on their SPDs.
So just like with SPDX, if I have this button clicked, and I go over to my Windows browser here, I can pull in a file. And this is a pretty large one. This just happens to be the whole example library, so 318 SPDs. So it's going to take a few minutes to spin here and get all of these added. We'll see that that was pretty fast to get all those SPDs right back into my library.
I'm going to clear this again just so we can see what's happening. With the third way to import, which is using this XLSX. And to do that, you first begin by downloading this template. We need to have a predetermined arrangement of the data in the Excel file. And I'll pull it up here so you can see what this looks like. It basically shows the metadata that you would see on the Data Input page. Same with the alpha-opic quantities and the data needed to compute those. Then we have a start and an interval, as well as the actual SPD.
So I've previously entered that information and saved that file. So when I have my button here clicked, I can go select my file, try to get over here. See it show there, hit Load, and now it's going to calculate all the results for those 10 SPDs that I happen to put in that file. So that's a pretty quick way to get a lot of SPDs into the tool at once. It will show errors. So if, for example, I have another file here with some built in errors, if I copy that over, hit Load, it's going to try to import these.
And it's going to say some of these don't have the right wavelength intervals or start and end wavelength. Sometimes they're not white light. So it'll give me the different types of information about those errors.
The last thing I'd like to demonstrate is how to download information from the user library. With this Download button, I can see there's three options. The first is Image. And I can't do that yet because I don't have any checked boxes. So once I check these, go back to download, I can click on Image, and then I can select a way to name the files that I'm going to download. If I click here, I can change it to, for example, the model number and then the unique identifier.
I can choose which reports I want. Let's just do the simple reports for these two and click Download. This is going to take just a few seconds here. It's got to create the PDFs in the background. And once it does, it's going to pop up with a Save dialog box, and give me a zip file to save those images.
So this is a really unique way that a manufacturer, for example, could create specification sheets for their whole library with just a few clicks instead of having to individually enter each SPD into one of the Excel calculators, and then print the reports off of that. Another way to download is as a JSON file. And as I mentioned earlier, this is one of the ways you can save your entire library or portions of it to share with another person or to use later yourself and re-upload into the tool.
So here, I'll just happen to click the full, I only have 10 SPDs in my library. Again, I can change the name of this by typing it here, hit Download, and this will let me download this file. And I can save it and it'll be available to me for later use. The third option is SPDX. And again, I can do the full or the checked items. Here, I'll just check a couple of items, hit Download, the checked SPDX files, and I can put these in a folder or have the specific file name like I did with the images. Download that, pop up again, and I can hit Save.
So these are all really useful tools for processing large amounts of data. And I think this is one of the most valuable features that we've added to this spectral calculator. We're still working to improve this. So if you do have any suggestions on different input or output options, I'd be glad to hear them.
I hope the demonstration was useful to you, and more importantly, I hope the spectral calculator will be useful to you. This is really what we hope will turn into a much bigger tool. And in the future, we hope to add new metrics, such as different chromaticity systems, including the updated tristimulus functions from CIE; perhaps research proposals, such as Rd for color discrimination or Rt for metameric uncertainty; circadian stimulus; horticultural metrics; GUV metrics; and blue light hazard. We also hope to continue building out the tool in terms of its features.
That currently includes improving the library search; adding more input flexibilities, such as allowing unequal wavelengths; creating a comparison tool that would allow you to look at SPDs much like you would do if you're shopping online; adding a checker that compares the performance of a given SPD against an array of specifications; perhaps adding new report templates to create nicer layouts for printing data, such as for the S026 calculations; and probably one of the biggest features would be adding spectral optimization where we would build in a calculator to allow you to input parameters, and then it would generate SPDs that are optimized to meet those parameters.
We've also discussed creating an API to facilitate calculation by third parties, such as spectrometer software or other lighting software. And the idea to create a custom color rendition calculator where you could, for example, insert your own color samples to replace the standardized samples of TM-30.
We’ve also explored the idea of creating user accounts so that you can save your data, if you wish, to the server instead of having to save it to your desktop each time. So we welcome any additional feedback on how to prioritize these ideas or new ideas altogether. You can email me directly at michael.royer@pnnl.gov. Thanks, and I hope you all have the opportunity to try this tool out and make great use of it in the future.