Enabling Multispectral Imaging Through Collaborative Filter Design

open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Optical Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > All Catalog Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Astronomy Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > LRGB Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Narrowband Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Photometry Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Bandpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Longpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Shortpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Single Bandpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Multi-bandpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Edge & Dichroic Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Longpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Shortpass Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Beamsplitters (50/50, etc.) open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Dichroic Beamsplitters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Multi-band Dichroic Beamsplitters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Fluorescence Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Dichroic Beamsplitters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Emission Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Excitation Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > PCR Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Raman Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Specialty Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Neutral Density (ND) Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Notch Rejection Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Polarizers open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Reflective Mirrors open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > By Wavelength Range open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > UV Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Visible Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > NIR Filters open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > SWIR Filters open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Filter Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > All Catalog Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Astronomy Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > FISH Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Fluorescence Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > FRET Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Machine Vision Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Microscopy Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > PCR Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Raman Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Ratiometric Sets open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > TIRF Sets open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Filter Accessories open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Cubes, Sliders and Rings open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Diagnostic Slides open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Reclaimed Cubes open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Catalogs & Downloads open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Custom & OEM Filters open = true, 30); clearTimeout(_navT); navOpen = true" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75); clearTimeout(_navT); _navT = setTimeout(() => navOpen = false, 100)"> Applications open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Aerospace & Defense open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Remote Sensing open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Satellite Communication (SatCom) open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Analytical Spectroscopy open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Raman open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Astronomy & Astrophotography open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Industrial open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Colorimetry open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Machine Vision open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Semiconductor Inspection and Metrology open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Short-Wave Infrared (SWIR) open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > UV open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Life Science & Diagnostics open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Polymerase Chain Reaction (PCR) open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Microscopy & Imaging open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Case Studies open = true, 30); clearTimeout(_navT); navOpen = true" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75); clearTimeout(_navT); _navT = setTimeout(() => navOpen = false, 100)"> Capabilities open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Custom Design & Engineering open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Manufacturing & Optical Coatings open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Metrology & Quality Assurance open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Prototyping & Rapid Development open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > OEM Partnerships open = true, 30); clearTimeout(_navT); navOpen = true" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75); clearTimeout(_navT); _navT = setTimeout(() => navOpen = false, 100)"> Resources open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Customer Support open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Ordering open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Quality & Compliance open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Technical Library open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Tools & Calculators open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > FAQs open = true, 30); clearTimeout(_navT); navOpen = true" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75); clearTimeout(_navT); _navT = setTimeout(() => navOpen = false, 100)"> About Us open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Company open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Mission and Values open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Certifications and Awards open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > History open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > DEIB open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Global Partner Network open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Scientific Communities open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Careers open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Events open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Media open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Image Gallery open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Video Highlights open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)" > Chroma Sponsored Image Contests open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > News open = true, 100)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 200)" > Testimonials open = true, 30)" @mouseleave="clearTimeout(_t); _t = setTimeout(() => open = false, 75)"> Contact Close Overview A customer developing a multispectral fluorescence imaging system needed custom optical filters capable of resolving seven fluorescent dyes across eight image volumes. Chroma engaged from day one, providing modeled spectral curves alongside initial proposals and refining the filter set through iterative design reviews over two years. Close collaboration resolved spectral, mechanical, and scheduling challenges—delivering filters that matched expected performance at first assembly. Industry: Life sciences instrumentation Technology Focus: Custom multi-notch filters, bandpass filters, dichroics, and compensation plates for multi-camera fluorescence detection Without early collaboration, the system risked being designed around filter performance that couldn’t realistically be achieved. The instrument used four cameras and three dichroic beam splitters to separate fluorescence signals across multiple detection paths. This created compounding requirements: Multi-notch filters required >OD6 blocking at several excitation laser lines while maintaining high transmission in adjacent emission bands. Several filters also served as compensation plates, demanding tight thickness tolerances alongside demanding spectral performance. Components up to 4” × 4” required high-quality reflected wavefronts after coating—sensitive to coating stress and uniformity across large apertures. Staged deliveries to teams in Germany and the United States added coordination complexity under a tight schedule. Solution Rather than quoting against the initial specification alone, Chroma provided modeled spectral curves with its first proposal. This let the customer’s engineers run realistic system simulations early, revealing spectral overlaps that could have degraded dye separation had they gone unaddressed. Over multiple design iterations, the teams refined the full filter set. Key adaptations included: Redistributing performance requirements across two filter elements when single-filter designs exceeded manufacturing margins. Replacing dicing with precision milling for thick substrates, improving dimensional accuracy and enabling recovery of partially damaged components. Multiple coating iterations on multi-notch filters to achieve the required blocking depth across large substrates. Key Features Spectral measurements Delivery Process improvements Implementation Conclusion The most successful multispectral filter programs engage specialists early, design at the system level, and build in flexibility — because trade-offs between blocking depth, edge slope, and manufacturability rarely surface in simulation alone. As spectral architectures grow more complex, filters are no longer a late-stage procurement decision. The most reliable path to a working instrument starts with solving the filter problem together. As spectral architectures grow more complex, filters are no longer a late-stage procurement decision. Does your sensor application demand more than off-the-shelf optics? Custom filter design starts with understanding your measurement challenge. Our optical engineering team can help you find the right optical filter to match your application. Tel 800-824-7662 Fax 802-428-2525 Close Loading.. Please check the spelling or try searching with different keywords. You can also explore the following sections for more information: Tel: +1-802-428-2500 Toll-free: 800-824-7662 We're here to help you find the optical filter solutions you need. Filter Sets Individual Filters Filter Accessories Pages & Documents Glossary Terms By using this website, you agree to our use of cookies. We use cookies to improve the user experience and to help our website run effectively. To learn more, read our Privacy Policy . I agree