主要内容

addCoating

Add optical coating to optical coating library

Since R2026a

Description

Add-On Required: This feature requires the Optical Design and Simulation Library for Image Processing Toolbox add-on.

addCoating(cl,coating) adds the optical coating, coating, to the optical coating library cl.

example

Examples

collapse all

Load the optical coating library into the workspace.

cl = coatingLibrary
cl = 
  CoatingLibrary with properties:

    CoatingCatalogTable: [1×3 table]
               Coatings: [2×1 opticalCoating]

Display the two default optical coatings in the coating library.

braggOc = cl.Coatings(1)
braggOc = 
  opticalCoating with properties:

                  Name: "Bragg_587nm_12l"
    IncidentAngleRange: [0 15]
       WavelengthRange: [300 800]
     PrimaryWavelength: 587.6000
                Medium: [1×1 opticalMaterial]
             Substrate: [1×1 opticalMaterial]
      CoatingMaterials: [2×1 opticalMaterial]
    LayerMaterialIndex: [1 2 1 2 1 2 1 2 1 2 1 2]
        LayerThickness: [1 1 1 1 1 1 1 1 1 1 1 1]
         ThicknessUnit: "quarterWavelength"
             NumLayers: 12
        TotalThickness: 983.4091

braggOc = cl.Coatings(2)
braggOc = 
  opticalCoating with properties:

                  Name: "Bragg_587nm_16l"
    IncidentAngleRange: [0 15]
       WavelengthRange: [300 800]
     PrimaryWavelength: 587.6000
                Medium: [1×1 opticalMaterial]
             Substrate: [1×1 opticalMaterial]
      CoatingMaterials: [2×1 opticalMaterial]
    LayerMaterialIndex: [1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2]
        LayerThickness: [1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1]
         ThicknessUnit: "quarterWavelength"
             NumLayers: 16
        TotalThickness: 1.3112e+03

Add New Coatings to Coating Library

Create a broadband anti-reflective (AR) optical coating that consists of two alternating TiO2/SiO2 material layer stacks.

ocBBAR = opticalCoating(Name="BBAR_4l", ...
    CoatingMaterial=["TiO2", "SiO2"], ...
    LayerMaterialIndex=[1 2 1 2], ...
    ThicknessUnit="nm", ...
    LayerThickness=[14.6 36.5 129.1 95.5])
ocBBAR = 
  opticalCoating with properties:

                  Name: "BBAR_4l"
    IncidentAngleRange: [0 15]
       WavelengthRange: [300 800]
     PrimaryWavelength: 587.5618
                Medium: [1×1 opticalMaterial]
             Substrate: [1×1 opticalMaterial]
      CoatingMaterials: [2×1 opticalMaterial]
    LayerMaterialIndex: [1 2 1 2]
        LayerThickness: [14.6000 36.5000 129.1000 95.5000]
         ThicknessUnit: "nm"
             NumLayers: 4
        TotalThickness: 275.7000

Create another Bragg reflector coating.

ocBragg = opticalCoating(...    
    Name="Bragg_500nm_12l", ...
    CoatingMaterials=["SiO2", "TiO2"], ...
    PrimaryWavelength=500, ...
    LayerMaterialIndex = repmat([1 2], [1 6]), ...
    ThicknessUnit = "quarterWavelength", ...
    LayerThickness = ones(1,12));

Add the new broadband AR and Bragg coatings to the coating library.

addCoating(cl,[ocBBAR ocBragg])

Display the updated coating library.

cl
cl = 
  CoatingLibrary with properties:

    CoatingCatalogTable: [2×3 table]
               Coatings: [4×1 opticalCoating]

Remove Coating From Coating Library

Remove the newly added Bragg reflector from the coating library.

removeCoating(cl,"Bragg_500nm_12l")

Restore Default Coating Library

To revert the changes and restore the coating library to its default state, use the restoreDefaultCoatingLibrary function.

restoreDefaultCoatingLibrary

Input Arguments

collapse all

Coating library to which to add a coating material, specified as a CoatingLibrary object.

Optical coating to add to the coating library, specified as an opticalCoating object or an M-element vector of opticalCoating objects. If you specify this argument as a vector, you can add multiple coating materials to the coating library simultaneously.

Version History

Introduced in R2026a