主要内容

opticalMaterial

Create optical material

Since R2026a

    Description

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

    An opticalMaterial object creates an optical material. You can create an optical material that already exists in the glass or coating material library, or create a custom material by specifying its index of refraction and Abbe number.

    Use the refractiveIndex object function to model the refractive index over a range of wavelengths for the material.

    To get started with using optical materials, see Load, Create, and Use Optical Materials.

    Creation

    Description

    material = opticalMaterial(Nd) creates a dispersionless optical material with an index of refraction, Nd.

    material = opticalMaterial(opticalProperties) creates an optical material with the index of refraction and Abbe number specified by opticalProperties.

    example

    material = opticalMaterial(materialName) creates an optical material by loading a material with the name materialName from the glass library or the coating material library.

    material = opticalMaterial(PropertyName=Value) sets writable properties using one or more name-value arguments.

    Input Arguments

    expand all

    Index of refraction, specified as a positive numeric scalar or a complex-valued scalar. When you specify the Nd input argument, you set the Nd property.

    Index of refraction and Abbe number of the optical material, specified as a 2-element row vector. The row vector is of the form [Nd Vd] where Nd and Vd are the index of refraction and Abbe number, respectively, at the Fraunhofer d wavelength of 587.5618 nanometers. When you specify the opticalProperties input argument, you set the Nd and Vd properties.

    Name of the library material, specified as a string scalar or character vector. A material with this name must exist in the coating material library or glass library. For more information on the coating material library and glass library, see coatingMaterialLibrary and glassLibrary, respectively.

    Properties

    expand all

    Name of the optical material, specified as a scalar or character vector. When you specify the Nd or opticalProperties input argument, where the index of refraction is 1.NNN and an Abbe number is V.VV, the value of this property is "NNN-VVV".

    Note

    If you create an opticalMaterial object without specifying the opticalProperties input argument and the name of the material is of the form "NNNVVV" or "NNN-VVV", where N and V are positive integers, the material has an index of refraction of 1.NNN and an Abbe number of V.VV.

    Name of the catalog assigned to the material, specified as a string scalar or character vector.

    Dispersion formula used to compute the index of refraction, specified as one of the values in the table. The value of this property determines the method used by the refractiveIndex object function to compute the real part of the refractive index.

    RefractiveIndexMethod ValueRefractive Index as Function of Wavelength λ
    "AbbeNumber"

    n(λ)=P1+(P11)P2(P4P5)·(λP3)

    P1, P2, P3, P4, and P5 are the average refractive index, Abbe number at Fraunhofer d line, and the wavelengths at the Fraunhofer d, F, and C spectral lines, respectively, and are specified using the RefractiveIndexParameter property.

    "Schott"

    n(λ)=P1+P2·λ2+P3λ2+P4λ4+P6λ6+P8λ8+P10λ10+P12λ12+P14λ14

    Specify the material coefficients Pi using the RefractiveIndexParameter property.

    "Extended2"

    n(λ)=P1+P2·λ2+P3λ2+P4λ4+P5λ6+P6λ8+P7·λ4+P8·λ6

    Specify the material coefficients Pi using the RefractiveIndexParameter property.

    "Extended3"

    n(λ)=P1+P2·λ2+P3·λ4+P4λ2+P5λ4+P6λ6+P7λ8+P8λ10+P9λ12

    Specify the material coefficients Pi using the RefractiveIndexParameter property.

    "Sellmeier"

    n(λ)=1+P1·λ2λ2P2+P3·λ2λ2P4+P5·λ2λ2P6+P7·λ2λ2P8

    Specify the material coefficients Pi using the RefractiveIndexParameter property.

    "Herzberger"

    n(λ)=P1+P2λ20.028+P3(λ20.028)2+P4·λ2+P5·λ4+P6·λ6

    Specify the material coefficients Pi using the RefractiveIndexParameter property.

    "LookupTable"

    2-column table. The first column contains the wavelengths, in nanometers, and the second column contains the index of refraction, Nd, at each wavelength. When you compute the refractive index using the refractiveIndex function, the function uses this table to linearly interpolate the values of Nd at the wavelengths specified by the wavelengths argument.

    Refractive index parameter data, specified as an N-element row vector. N is the number of non-zero coefficients in the dispersion formula, specified by the RefractiveIndexMethod property. Each element Ni of the vector corresponds to the coefficient Pi in the dispersion formula. If N is less than the total number of coefficients required by the formula, the object sets the remaining coefficients to 0.

    Transmission parameter data, specified as an M-by-3 matrix. The first, second, and third columns of the matrix correspond to the wavelength in nanometers, the transmittance, and optical material width in millimeters, respectively. M is the number of wavelengths for which you have transmission data. Transmittance is a dimensionless quantity that represents the fraction of incident light that passes through a material, and is calculated by dividing the transmitted light intensity by the incident light intensity. This quantity is related to the material's extinction coefficient and thickness by the exponential attenuation law.

    Note

    You can set either the TransmissionParameters or ExtinctionCoefficientParameters property, but not both.

    Extinction coefficient parameters, specified as an M-by-2 matrix. The first column of the matrix contains the wavelength values, in nanometers, and the second column contains the corresponding dimensionless extinction coefficient values. M is the number of wavelengths for which there is extinction data. The extinction coefficient describes how much light is absorbed and scattered by a material.

    By default, the value of ExtinctionCoefficientParameters is an empty double matrix with zero rows and two columns. In this case, the material's transmission is set by the TransmissionCoefficientParameters property.

    Note

    You can set either the ExtinctionCoefficientParameters or TransmissionParameters property, but not both.

    Wavelength range for which you can use material, specified as a 2-element numeric vector.

    Raw catalog data, specified as a structure.

    When you create a material using the opticalMaterial object, the structure has these fields.

    • Nd — Index of refraction, stored as a positive scalar.

    • Vd — Abbe number, stored as a positive scalar.

    When you load a material using the pickGlass function, the structure contains fields from the metadata of the corresponding AGF file.

    When you load a material using the pickCoatingMaterial function, the structure has these fields:

    • Source — Online resource location of literature reference, stored as a string scalar.

    • Reference — Literature reference, stored as a string scalar.

    • Comment — Comment containing additional information about the material, stored as a string scalar.

    This property is read-only.

    Index of refraction, represented as a positive scalar.

    This property is read-only.

    Abbe number, represented as a positive scalar. The Abbe number, Vd, is a measure of dispersion and is represented by the equation

    Vd=Nd1NFNC.

    Nd, NF and NC are the refractive indices at the Fraunhofer d, F, and C spectral lines, respectively. A higher Abbe number indicates lower dispersion.

    Object Functions

    refractiveIndexCompute complex refractive index for optical material

    Examples

    collapse all

    Create an acrylic glass material, or PMMA.

    om = opticalMaterial(Name="PMMA",RefractiveIndexMethod="Sellmeier",RefractiveIndexParameter=[1.1819 0.011313]);

    Define a range of operational wavelengths for the material.

    lambdas = 500:10:1000;

    Compute the complex index of refraction for the material using the refractiveIndex object function.

    complexIndex = refractiveIndex(om,lambdas);

    Plot the real-valued refractive index as a function of wavelength.

    plot(lambdas,real(complexIndex))
    ylabel("N_d of PMMA")
    xlabel("Wavelength (nm)")

    Figure contains an axes object. The axes object with xlabel Wavelength (nm), ylabel N_d of PMMA N_d of PMMA contains an object of type line.

    Version History

    Introduced in R2026a