Technical Issues - FilmStar News 2012

Other editions: 2006, 2007, 2008, 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017, 2018

January 3    Windows 7 Library

A new feature in Windows 7 is the Library which organizes data stored in various file locations including networks. Users may find it useful to add some or all FilmStar data files.

To set this up, right click on Libraries in Windows Explorer and select New.. Library which you can name FilmStar, Winfilm or whatever you prefer. Navigate to the actual FilmStar directory (usually C:\Winfilm but possibly a network location), right click on a subdirectory name and click Include in library.. FilmStar.

Add only directories that you use. You would not, for example, add DesignCache (used by the DESIGN Recorder), Help, or Config. If you never modify INDEX n,k tables, there's no need to add Index. The Library is only a convenience for locating files and does not actually contain any data.

If you find no advantage in using the Library, just delete it. This does not delete any actual files. You can also delete default Libraries like Pictures, Videos, Music, etc.

January 9    Tolerance Envelopes

Tolerancing curves help us understand the effects of layer errors. Curves can be generated in the main DESIGN screen as well as in the FSPlot Module (with speed and capacity limitations). This is illustrated in the following with FILM Archive LASER-O.faw.

When examining the above imagine two envelopes, one with all minimum values and the other all maximum values. Using FilmStar BASIC, the envelopes are quickly calculated by program TolerEnvl.bas. If this file is not found in ..\Winfilm\Basic32, run the FilmStar installer. This case corresponds to the previous graph.

Enter error values in Evaluate.. Tolerancing.. Values <Ctrl+N>. The number of iterations (nIter) and random number seed (CalcRandSeed) are specified in TolerEnvl.bas. Since the area between envelopes increases with additional iterations, it is important to use a fixed number of iterations when comparing designs. Use a large enough value (say 10000) so that additional iterations are insignificant. Ultimately the most powerful tolerancing facility is the FilmStar Workbook, but in many cases the simple and fast envelope technique will be quite sufficient.

Need to retain FSPlot results? Click Data..Copy <Shift+F11> to copy curves to the clipboard in Excel format. Can't get this to work? Contact FTG to arrange a Glance session.

January 19    Comparing %R and %T Spectra

The Interactor can graphically compare measured and calculated %R or %T spectra. In most cases this is adequate. But sometimes it is useful to compare %R and %T spectra. This can be accomplished by having the FSPlot Module open at the same time as the Interactor (DESIGN 2.61.2245).

  1. Exit the Interactor and import (Spectra…Open/Paste) a spectrum containing both %R and %T.
  2. Click Spectra…Convert Table to ensure the data has the same range as a calculated spectrum.
  3. Open the FSPlot Module and verify that Setup…Plot %R + %T is checked.
  4. Click the FSPlot Plot button to add the measured spectra.
  5. Activate the Interactor and notice that calculated spectra are automatically displayed.

Colors for plots 3 & 4 were changed to light red & blue from default green & magenta. This is accomplished in the Graph Details dialog as shown here.

After examining the graph, we reckoned that measurement techniques needed revision and referred the party to Ron Willey's white paper on measurement accuracy.

March 12    Stack Mode

The Stack Mode Design Editor (DESIGN 2.61.3008) combines features from Film Indices and Layers Mode dialogs. Each layer has its own dispersion expressed as constants, lookup tables, and index functions. An index function can include user-defined formulas as well as material mixtures based on various models including Bruggeman and Maxwell-Garnet. While illustrated here for the familiar Boudot design, Stack Mode is especially useful in the case of many materials, as in rugate designs

Stack Mode editor supports any number of materials

The Stack Mode editor works with the Interactor, supports optimization, and allows massive layers. Note how (.32426H .21645L .34405H .09825L)3 is converted to Num (number of layers in a group) and Rpt (repeat factor) entries. Grp and Lay columns are computed and therefore not user-modifiable. A Notes column (not shown here) can be used for descriptions or commands. In the current version command {Link...} replaces Optimize...Link Variables. Designs can be transferred to/from Excel by copy/paste or import/export of TAB delimited .txt files.

Stack Mode Excel compatibility

A number of new BASIC subroutines and functions have been added: StackCopy, StackDelete, StackIndex, StackIndexSet, StackNote, StackNoteSet, StackSelect, StackSelected, StackRows. In addition IndexCoeff, SetIndexCoeff, LayerThk, SetLayerThk also support Stack Mode. These are all described in the help system and provide great flexibility for advanced users.

Designs with up to ~30K dispersive layers have been tested. 64-bit Windows 7 allows more layers than 32-bit Windows XP. Users who wish to get up and running with Stack Mode are invited to contact FTG for a Glance Networks overview. Click here for information about applying Stack Mode to rugate analysis.

April 18    Running Spectrometers from DESIGN

It appears not well known that DESIGN can directly run rapid-scan spectrometers including popular devices from Ocean Optics and  StellarNet. This is most convenient for reverse-engineering. MEASURE also controls these instruments, but why not eliminate extra steps?

The following macro assigns four OOI macros (included in the FilmStar installer) to a single button. This is not, however, the only way to organize matters. One alternative is to bring up a dialog box which triggers the various scan procedures.

' MenuOOI.bas for FilmStar DESIGN
' Macros utilizing FTG Ocean Optics EXE server

Sub Main
    Dim k%, c$, MenuItem$(0 To 5), MacroCmd$(0 To 5)
    c$ = "BasChain " & PgmPath & "\Basic32\"
    MenuItem(0) = "&Sample Scan"
    MacroCmd(0) = c$ & "OOI2 Sample.bas;"
    MenuItem(1) = String$(21, "-")
    MenuItem(2) = "&Dark Scan"
    MacroCmd(2) = c$ & "OOI2 Dark.bas;"
    MenuItem(3) = "&Reference Scan"
    MacroCmd(3) = c$ & "OOI2 Reference.bas;"
    MenuItem(4) = String$(21, "-")
    MenuItem(5) = "&Close OOI Server"
    MacroCmd(5) = c$ & "OOI2 Quit.bas;"
    Busy False ' suppress hourglass
    k = ShowPopupMenu(MenuItem)
    If k > -1 Then Macro MacroCmd(k) ' Escape returns k = -1
End Sub

Finally, we assign MenuOOI.bas to Macro Command button 1.

Since it's easy to forget to close the OOI Server before closing FilmStar (leaving Ocean2.exe as an active process), DESIGN 2.61.3020 adds a shut-down macro in the Macro Commands dialog. This new capability can also be found in MEASURE 2.51.1328.

We have an Ocean Optics unit and can elucidate the above via Glance Networks.

Designs with up to ~30K dispersive layers have been tested. 64-bit Windows 7 allows more layers than 32-bit Windows XP. Users who wish to get up and running with Stack Mode are invited to contact FTG for a Glance Networks overview.

April 23    Saving Reports as PDF

The Report Generator print engine in DESIGN 2.61.3021, MEASURE 2.51.1329 and MONITOR 2.52.0145 has been updated. Users report that this fixes Windows 7 printing problems. In the case of errors which cannot be resolved, we suggest saving documents as PDF and printing from Adobe Reader. This is also useful when FilmStar computers are not connected to  printers or networks.

By saving in PDF rather than printing directly, users can review and reprint documents. In addition, FilmStar Database users have a powerful new option: the FileMaker Pro interactive PDF viewer, a feature enabling multiple PDF documents to be viewed and printed from a single database.

Once a FilmStar Report has been designed and tested, the following BASIC program is very useful.

' Saves Report Generator output to PDF files
Const path$ = "C:\Winfilm\Docs\" ' make sure directory exists
Sub Main
    Dim k as Long
    On Error Resume Next
    k = Val(IniString("PDF QA", "Counter"))
    k = k + 1
    ReportSave path$ & "QA" & Format$(k,"00000") & ".pdf"
    WriteIniString "PDF QA","Counter", CStr(k)
End Sub

No idea how to enter the above and assign to a macro button? Contact FTG for a Glance session.

June 21    Bandwidth in Monitor Calculations

New DESIGN macros automate FSPlot's Formulator and calculate the effects of non-zero monochromator bandwidth on spectra plotted as a function of thickness (monitor plots). A Gaussian energy distribution with either 5 (low resolution) or 13 points (high) is utilized. Bandwidth (halfwidth) is defined at 50%. The macros are now included in the FilmStar installer.

Macros are MonitorWidthLow.bas, MonitorWidthHigh.bas and MonitorWidthTest.bas (shown below). The 31 layer design is Fnum.faw with design wavelength 7500 nm and evaluation wavelength 2500 nm. Note how the first layers are hardly affected while the last are seriously altered.
When using these macros, it is very important that the vertical scale be such as to not clip any of the spectra plotted in FSPlot.

The new macros have been added to the FilmStar installer (DESIGN 2.61.3045). In addition, bandwidth compensation has been implemented in MONITOR 2.52.0500. The DESIGN macros provide means to verify MONITOR calculations.

While compensation is not normally required when multiple witness chips are utilized, filters monitored on a single witness are very bandwidth-dependent. As an example try the original Fnum.faw evaluated at 1640 nm with bandwidths 1 nm, 2 nm and 5 nm. Monitor bandwidth effects are discussed in Ron Willey's Practical Production of Optical Thin Films, 2nd Edition, page 416.

September 10    DDE Revisited

DDE (Dynamic Data Exchange) is a method for exchanging data and commands. Although superceded by COM, DDE continues to be supported. In this section we show how to transfer spectra from DESIGN or MEASURE to Excel, specifically Lindbloom's Spectral Calculator.

DDE requires a Topic and Item. The Topic is obtained from the application's title bar, say Excel|Book1 or Excel|FileName. The Item indicates data location. In the Lindbloom calculator, Excel range $C$10:$C108 (340 to 830 x5 nm) corresponds to defined name Sample. Click Spectra.. DDE.. Options.. Export to enter the following:

Item set to range name

The Spectral Calculator requires R or T in column C. Clipboard copy or DDE export normally provides three {DESIGN: W, R, T} or two columns {MEASURE: W, R or T} columns. A new option in Spectra.. Format Options (DESIGN 2.61.3051, MEASURE 2.51.1346) specifies that only one column be copied or exported.

Data transfer has been tested in Excel 2000 and Excel 2010 (shown here). Unlike our COM-based solution using FilmStar BASIC, the Spectral Calculator must remain visible.

Lindbloom Spectral Calculator indicates editable fields in yellow

CIE color typically utilizes 380-780 x5nm. If 340-830 is inconvenient insert zeros in column C from 340-375, 785-830 and replace Item = Sample with Item = R18C3:R98C3. ($C$18:$C$98 doesn't work.)

Item set to range in RC notation

Click Spectra.. DDE.. Export to transfer data or Spectra.. DDE.. Auto Export to automatically transfer data each time a spectrum is calculated in DESIGN or a Sample scan is performed in MEASURE. Note that this works in the DESIGN Interactor. DDE examples utilizing FilmStar BASIC  can be found here.

October 1    Spectra vs. Temperature

We are sometimes asked if FilmStar can predict coating performance as a function of temperature. Unless one is very lucky in a literature search, this requires materials knowledge that can only be obtained through multiple scans over the temperature range. Measurements entail many hours, and will be tedious, expensive, and error-prone when performed manually.

Recently PerkinElmer accepted an order for a Lambda 1050 with the proviso that it automatically acquire and save spectra over a wide temperature range. The end-user, a well-known Korean company, had purchased Instec temperature control apparatus and required spectral DAQ software integrated with the mK1000 controller.

Realizing that customized software was required, PE contacted us for a low-cost solution based on FilmStar MEASURE. In addition to the problem of controlling the temperature there was the issue of what to do with the data.

Our control solution takes the form of an ActiveX EXE server as shown here. The server can run standalone for testing and under control of MEASURE BASIC. There is no simpler way to control the mK1000. Click here to download a simulator. Windows 7 users may need to manually run as administrator before the server can be used under BASIC control.

As saving spectra in individual files is very unwieldy we decided to utilize Excel. The leftmost column indicates wavelength while each subsequent column contains R or T values. Automation is again required as the system must be capable of unattended, possibly overnight, operation. A read-only Excel file serves as template and is included as part of the solution.

Standalone operation

Under BASIC control

The FilmStar macro that controls the temperature controller, the Lambda 1050, and Excel begins with a BASIC dialog (UserDialog editor) enabling the user to define limits and add comments.

Ready to start measurement process

Upon completion, the user need only specify a name for the Excel file. Since the BASIC macro is provided as source code, the end-user can translate the above dialog and other prompts into Korean if required. Or the end-user might prefer to automatically assign Excel file names, etc. Click here for additional information on Excel's compatibility with FilmStar.

Process complete (simulated spectra)

Update June 25, 2018: BASIC XL functions simplify matters by not requiring Excel. Try for yourself by downloading Unzip to c:\Winfilm\MK1000XL and run the .bas file. Be sure to set MEASURE Test Mode! You should see something similar to the following in a minute or two. Note that this requires MEASURE 2051.1920 or newer.

Don't use MEASURE? Click here for a DESIGN example.

October 15    Spectra Files as Data Server

Users with spectrophotometers not directly supported by MEASURE (e.g. Hitachi, Shimadzu, Jasco) can still take advantage of MEASURE capabilities by treating data files as 'servers'. In this way, MEASURE users can utilize the same well-proven and familiar Baseline-Reference-Sample-Standard formalism. This is especially important when accurate reflectance measurements are required.

Recently a FilmStar user requested the abiilty to acquire spectra from Jasco spectrometers. Since Jasco does not publish an API for controlling its instruments, we need to import data files. Examining several formats we determined that J-CAMP (*.dx) was the simplest to implement, but %T was off by a factor of 100. This typical J-CAMP inconsistency is addressed in DESIGN 2.61.3102, INDEX 2.51.0325 and MEASURE 2.51.1353 by adding a multiplier automatically triggered by ##ORIGIN= JASCO.

For transmittance little else is required, but reflectance entails a reference scan and a dispersive standard. A 0% baseline scan may also be needed. Sample data must then be corrected. While corrections could be performed in Excel, MEASURE users can more easily accomplish the same by selecting Server (Raw Data) in Scan Method 1A and assigning appropriate BASIC macros to the Scan button in Scan Method 1B. Scan macros are normally utilized to acquire data from diode-array or FTIR instruments, but we can just as well import data files. Note that Mpe983.exe is the only version supporting this capability.

Sub Main  ' GetReference.bas
    DataType = 1 ' so we can open J-CAMP dx file
    f$ = GetFilePath(,"dx", "c:\Winfilm\Jasco", "Open Reference Spectrum")
    If Trim$(f$) <> "" Then
        FileOpen f$
        DataType = 3 ' switch to Reference mode
    End If
End Sub

Sub Main  ' GetSample.bas
    DataType = 1
    f$ = GetFilePath(,"dx", "c:\Winfilm\Jasco", "Open Sample Spectrum")
    If Trim$(f$) <> "" Then FileOpen f$
End Sub

Further simplification arises from repeatedly using the same file names. Nothing could be easier. Save the Jasco %T J-CAMP file and then click MEASURE's Scan button.

Sub Main  ' GetReference.bas
    DataType = 1 ' so we can open J-CAMP dx file
    FileOpen "c:\Winfilm\Jasco\Reference.dx"
    DataType = 3 ' switch to Reference mode
End Sub

Sub Main  ' GetSample.bas
    DataType = 1
    FileOpen "c:\Winfilm\Jasco\Sample.dx"
End Sub

Tired of using chemists' software with your spectrometer but have no idea how to use FilmStar BASIC? Contact FTG Software for an online explanation via our Glance Networks facility.

October 18    HunterLab Spectra Import

HunterLab spectrometers are widely utilized in ophthalmic AR coating. While QA is based on measured color, the ability to reverse-engineer coatings and improve processes requires that spectra be imported by FilmStar DESIGN, a procedure which users may have found indirect and overly complicated.

Spectra import is greatly simplified by macro HLabImport.bas which reads HunterLab EasyMatch CSV format. As shown here, a Select Data Set dialog helps users deal with multiple spectra. The macro works in both DESIGN and MEASURE and is available upon request.

For users requiring further automation, a future possibility is for FilmStar MEASURE to directly control HunterLab apparatus via ActiveX. Contact FTG Software to discuss your requirements.

October 26    INDEX R/T Spectra Merge

Two FilmStar INDEX Calculate n,k (Solve Menu) algorithms require R and T values. This has been supported for .csv files or data pasted from the clipboard. When .csv data is in DESIGN 3-column format (W|R|T) there is no need to specify data type.

When data is in MEASURE 2-column format (W|R or W|T) the user must specify file type and indicate whether a second file will be merged. This is specified in the Spectrum Type dialog. The two spectra must have matching wavelength ranges.

.csv R/T merge

Although MEASURE can save reflectance and transmittance in a single 3-column .csv file (check Combine reflectance... in Spectra Format Options), this is mostly impractical. INDEX 2.51.0327 adds the ability to merge R & T spectra in .dx, .spc and .xls formats. Unlike .csv, these formats include spectrum type and the Spectrum Type dialog is not needed. Once again the spectra must have matching wavelength ranges.

.dx, .spc, .xls R/T merge
Yes adds T data; No uses R data only

Note that FilmStar .xls files are in a simplified format. They can be opened in FilmStar or Excel, but .xls files re-saved in Excel will not open in FilmStar.

November 14    ARTA Support for OMT Solutions

OMT Solution's Absolute Reflectance/Transmittance Analyzer (ARTA) PE/Cary spectrophotometer accessory measures directional reflectance and transmittance. There are a large number of scans and a multitude of spectra. Automation is critical! No one wants to pay a technician to stand in front of an instrument for hours on end. Finding that the 'free' software supplied with the spectrophotometer did not have automation capabilities, OMT president Peter van Nijnatten asked us to provide a FilmStar solution.

Our solution is an Excel workbook running FilmStar MEASURE. A stepper motor control had already been developed with a list of positions given in ATF procedure files (e.g. RT test.atf). Excel parses the file and fills in Pol, Sample, Detector rows as shown below. We also created a simulator using FilmStar DESIGN to help users develop analysis methods. In this case, it's an optimized BBAR coating.

The advantage of having spectra in Excel rather than in separate data files or in the UV Winlab database cannot be overemphasized. Everyone has Excel and if Excel is not your favorite analysis tool, data can be directly imported by programs such as MATLAB.

The user-interface is shown below. PREPARE sets up the spreadsheet according to the ATF file. There is no need for a fancier interface and its simplicity allowed us to develop the VBA code in one day.

A recent LinkedIn discussion reminds us that OMT Solutions is a leader in optical measurement technology. FilmStar MEASURE will support other accessories as well, including the Directional IV Absolute Reflectance Accessory. Click here to learn more about measurements on highly reflective coatings. Along these lines, in 2011 MEASURE added T^2 capability for variable angle transmission accessories.

Scroll up to October 1 to review a similar project involving multiple spectra. In that case, however, FilmStar MEASURE controls the process and creates the Excel files.

December 24    Excel Color Grids

Note: Referenced Excel examples (*.xlsm) updated 15 May 2013
An advanced user in Texas needed to understand color variations caused by thickness variations in two dielectric layers. We suggested that a visual representation would be helpful and proposed adding a new BASIC function to return RGB colors. The function Sub GetCieColor could then be used to set colors in Excel grids as shown below. This capability is now available in DESIGN  2.61.3130. Sub GetCieColor optionally returns CIE coordinates (D65 illuminant) and includes RGB Boost for visualizing color shifts in AR designs. Two turnkey examples can be downloaded:

1. Excel workbook Colors.xlsm and FILM Archive Highpass-O.faw (copy to ..Winfilm\Designs). Hit <Alt+F8> to run Excel VBA macro ShowColors. This image indicates how one might compensate for angular variation with non-uniform coating distribution. (When run for the first time it may be necessary to run the macro twice as DESIGN may not have fully opened in the background.) Since design wavelength is varied, the design must be specified in optical thickness. (Instructive exercise: modify the workbook for designs in physical thickness.)

2. Tooling.xlsm and FILM Archive BBAR-O.faw (copy to ..Winfilm\Designs) help us visualize shifts resulting from tooling variations in AR coatings. Hit <Alt+F8> to run Excel VBA macro VaryTooling. The macro sets RGB Boost = 25 to exaggerate color shifts. This image should be of interest to ophthalmic coaters.

In the above we used Excel VBA to run FilmStar. We could just as well have FilmStar BASIC run Excel. We leave this as an exercise for users wishing to upgrade their skills.

Note that Excel 2007/2010/2013 is required. As shown in the Excel 2000 reduced image at the right, older versions support only a limited range of cell background colors.

Addendum February 22, 2013

In a similar Excel model utilizing BBAR-O we examine percent variations in individual layers. As shown below it appears difficult to distinguish a -4% error in layer 3 from a 16% error in layer 2. (Note: My own AR coated lenses have the slightly magenta cast predicted by this design.)

% Layer errors in neutral (slight magenta cast) design

In the case of absolute thickness errors it appears most difficult to distinguish a -3.0 nm in layer 2 from a +3.0 nm error in layer 3. Of course, a technician familiar with color shifts will include additional information (a monitor glitch resulting from directives to save money on crystals?) in his/her analysis.

Absolute layer errors in neutral design

The charts below show a 5 layer 'green' ophthalmic design (~1% peak at 525 nm). This design sacrifices optical performance for two possible purposes: consumer preference or ease-of-manufacture. In this case the first layer is a bonding layer (refractive index very close to that of the substrate) with essentially no effect on the color. Note how errors in thin layers 2,3 still produce a coating with green cast, while similar errors in layers 1,2 in the neutral design cause far more color variation.

% Layer errors in green design

Absolute layer errors in green design

The quality of eyewear AR processes may be hard to distinguish under many lighting conditions. An excellent and stringent test is available to anyone with a webcam; computer screen reflections are very noticeable and highly annoying.

Back to Technical Issues