Skip to content

aai2k/TFStudio

Repository files navigation

tfstudio banner

An open-source design, analysis, and optimization environment for optical thin-film coatings.

License: MIT Version Platform Maintainability DOI

Website · Live demo · Documentation · Download

Screenshot_14

What is TFStudio?

TFStudio is a professional desktop application for designing and analyzing optical thin-film coatings — antireflection coatings, mirrors, beamsplitters, bandpass and edge filters, and more. It combines a rigorous, double-precision optical engine with modern refinement and synthesis algorithms and a full analysis suite, in a docked, multi-window interface.

⚠️ Status: TFStudio is independently developed software. Always verify critical designs against your own calculations and measurements before committing them to a production deposition run.

Key features

Design & evaluation

  • Transfer-matrix method (TMM) for absorbing and dispersive media at oblique incidence, both s- and p-polarization
  • Full-system modeling: front coating, substrate (with absorption), and back coating, including incoherent substrate multiple reflections
  • Reflectance / transmittance / absorptance spectra, color, integral figures of merit
  • Layer editor with simultaneous physical / optical / quarter-wave / full-wave thickness representations

Optimization & synthesis

  • Damped least-squares / Levenberg-Marquardt refinement with an analytic Jacobian

  • Additional refiners: Newton, Newton-CG, SQP, conjugate-gradient, differential evolution, simulated annealing

  • Needle optimization and gradual evolution synthesis (automatic layer insertion from scratch)

  • Structural optimization over the layer count itself

  • Flexible merit function: spectral targets, ramps, band averages, worst-case operands, thickness constraints

  • Multi-threaded via a Web Worker pool; hot kernels accelerated with WebAssembly (SIMD)

    image

Analysis windows

  • Optical evaluation, admittance diagrams, electric-field profiles, group delay / GDD, ellipsometric parameters, color evaluation, refractive-index profile

    image
  • Tolerance & manufacturing analysis: Monte-Carlo error analysis, layer sensitivity, inhomogeneity, roughness/scattering, systematic deviations

    image

Materials

  • Built-in library generated from the refractiveindex.info database (CC0)

  • Sellmeier / Cauchy / tabulated dispersion; complex index with explicit conventions

  • Import of external catalogs and an in-app refractiveindex.info browser

    image

Manufacturing

  • Deposition / monitoring simulation (broadband and monochromatic optical monitoring)

  • Process exporter and optical-coating data interchange (including Zemax OpticStudio coating export/import)

    image

Platform

  • Cross-platform desktop app (Electron + React, pure JavaScript)
  • Built-in help/documentation, English and Russian UI

Scientific basis

TFStudio implements established thin-film optics, citing primary sources:

  • Transfer-matrix method — H. A. Macleod, Thin-Film Optical Filters, 5th ed.
  • Numerical needle synthesis — Sullivan & Dobrowolski, Appl. Opt. 35, 5484 (1996); Tikhonravov et al., Appl. Opt. 35, 5493 (1996)
  • Gradual evolution — Tikhonravov et al. (2007)

All computations use double precision. The TMM engine agrees with independent reference calculations to within single-digit parts-per-million for validated test cases.

Installation

Download (recommended)

Grab the latest installer or portable build from the Releases page.

Want to try it first? Run the live web demo — example designs and live spectra, right in the browser, no install.

Build from source

Requires Node.js 18+ and git.

git clone https://github.com/aai2k/TFStudio.git
cd TFStudio
npm install
# (optional but highly recommended) rebuild the WebAssembly kernel — requires the Emscripten SDK:
npm run build:wasm

npm start          # launch the app

npm run build checks out the refractiveindex.info database submodule and installs the docs-site dependencies automatically. The database is large; to pull it upfront instead of on first build, clone with --recursive.

Other useful scripts:

npm test              # run the test suite
npm run docs:install  # install docs-site deps (needed before docs:dev)
npm run docs:dev      # preview the documentation site
npm run build         # package a distributable (electron-builder)

One-click install can be tried via build-release.ps1 script.

User documentation is hosted at docs.tfstudio.xyz, is built into the app (Help menu), and its source lives in docs-site/.

Citing TFStudio

If TFStudio contributes to your work, please cite it. Citation metadata is in CITATION.cff; GitHub renders a "Cite this repository" button from it.

Contributing

Issues and pull requests are welcome. Because TFStudio is a scientific tool, contributions to the optical engine are held to a physics-correctness bar (cite your sources, validate against a reference, add a test). Please read CONTRIBUTING.md before opening a pull request.

By contributing you agree that your contributions are licensed under the project's MIT license.

License

MIT © 2026 Andrey Achapovsky

Author

Andrey AchapovskyORCID 0009-0005-1497-6279

Acknowledgements

About

An open-source design and optimization environment for optical thin-film coatings

Topics

Resources

License

Contributing

Stars

5 stars

Watchers

1 watching

Forks

Contributors