from __future__ import annotations
from enum import Enum
from typing import Any

class AnalysisIDM(str, Enum):
    XXXTemplateXXX = "XXXTemplateXXX"
    RayFan = "RayFan"
    OpticalPathFan = "OpticalPathFan"
    PupilAberrationFan = "PupilAberrationFan"
    FieldCurvatureAndDistortion = "FieldCurvatureAndDistortion"
    FocalShiftDiagram = "FocalShiftDiagram"
    GridDistortion = "GridDistortion"
    LateralColor = "LateralColor"
    LongitudinalAberration = "LongitudinalAberration"
    RayTrace = "RayTrace"
    SeidelCoefficients = "SeidelCoefficients"
    SeidelDiagram = "SeidelDiagram"
    ZernikeAnnularCoefficients = "ZernikeAnnularCoefficients"
    ZernikeCoefficientsVsField = "ZernikeCoefficientsVsField"
    ZernikeFringeCoefficients = "ZernikeFringeCoefficients"
    ZernikeStandardCoefficients = "ZernikeStandardCoefficients"
    FftMtf = "FftMtf"
    FftThroughFocusMtf = "FftThroughFocusMtf"
    GeometricThroughFocusMtf = "GeometricThroughFocusMtf"
    GeometricMtf = "GeometricMtf"
    FftMtfMap = "FftMtfMap"
    GeometricMtfMap = "GeometricMtfMap"
    FftSurfaceMtf = "FftSurfaceMtf"
    FftMtfvsField = "FftMtfvsField"
    GeometricMtfvsField = "GeometricMtfvsField"
    HuygensMtfvsField = "HuygensMtfvsField"
    HuygensMtf = "HuygensMtf"
    HuygensSurfaceMtf = "HuygensSurfaceMtf"
    HuygensThroughFocusMtf = "HuygensThroughFocusMtf"
    FftPsf = "FftPsf"
    FftPsfCrossSection = "FftPsfCrossSection"
    FftPsfLineEdgeSpread = "FftPsfLineEdgeSpread"
    HuygensPsfCrossSection = "HuygensPsfCrossSection"
    HuygensPsf = "HuygensPsf"
    DiffractionEncircledEnergy = "DiffractionEncircledEnergy"
    GeometricEncircledEnergy = "GeometricEncircledEnergy"
    GeometricLineEdgeSpread = "GeometricLineEdgeSpread"
    ExtendedSourceEncircledEnergy = "ExtendedSourceEncircledEnergy"
    SurfaceCurvatureCross = "SurfaceCurvatureCross"
    SurfacePhaseCross = "SurfacePhaseCross"
    SurfaceSagCross = "SurfaceSagCross"
    SurfaceCurvature = "SurfaceCurvature"
    SurfacePhase = "SurfacePhase"
    SurfaceSag = "SurfaceSag"
    StandardSpot = "StandardSpot"
    ThroughFocusSpot = "ThroughFocusSpot"
    FullFieldSpot = "FullFieldSpot"
    MatrixSpot = "MatrixSpot"
    ConfigurationMatrixSpot = "ConfigurationMatrixSpot"
    RMSField = "RMSField"
    RMSFieldMap = "RMSFieldMap"
    RMSLambdaDiagram = "RMSLambdaDiagram"
    RMSFocus = "RMSFocus"
    Foucault = "Foucault"
    Interferogram = "Interferogram"
    WavefrontMap = "WavefrontMap"
    DetectorViewer = "DetectorViewer"
    Draw2D = "Draw2D"
    Draw3D = "Draw3D"
    ImageSimulation = "ImageSimulation"
    GeometricImageAnalysis = "GeometricImageAnalysis"
    IMABIMFileViewer = "IMABIMFileViewer"
    GeometricBitmapImageAnalysis = "GeometricBitmapImageAnalysis"
    BitmapFileViewer = "BitmapFileViewer"
    LightSourceAnalysis = "LightSourceAnalysis"
    PartiallyCoherentImageAnalysis = "PartiallyCoherentImageAnalysis"
    ExtendedDiffractionImageAnalysis = "ExtendedDiffractionImageAnalysis"
    BiocularFieldOfViewAnalysis = "BiocularFieldOfViewAnalysis"
    BiocularDipvergenceConvergence = "BiocularDipvergenceConvergence"
    RelativeIllumination = "RelativeIllumination"
    VignettingDiagramSettings = "VignettingDiagramSettings"
    FootprintSettings = "FootprintSettings"
    YYbarDiagram = "YYbarDiagram"
    PowerFieldMapSettings = "PowerFieldMapSettings"
    PowerPupilMapSettings = "PowerPupilMapSettings"
    IncidentAnglevsImageHeight = "IncidentAnglevsImageHeight"
    FiberCouplingSettings = "FiberCouplingSettings"
    YNIContributions = "YNIContributions"
    SagTable = "SagTable"
    CardinalPoints = "CardinalPoints"
    DispersionDiagram = "DispersionDiagram"
    GlassMap = "GlassMap"
    AthermalGlassMap = "AthermalGlassMap"
    InternalTransmissionvsWavelength = "InternalTransmissionvsWavelength"
    DispersionvsWavelength = "DispersionvsWavelength"
    GrinProfile = "GrinProfile"
    GradiumProfile = "GradiumProfile"
    UniversalPlot1D = "UniversalPlot1D"
    UniversalPlot2D = "UniversalPlot2D"
    PolarizationRayTrace = "PolarizationRayTrace"
    PolarizationPupilMap = "PolarizationPupilMap"
    Transmission = "Transmission"
    PhaseAberration = "PhaseAberration"
    TransmissionFan = "TransmissionFan"
    ParaxialGaussianBeam = "ParaxialGaussianBeam"
    SkewGaussianBeam = "SkewGaussianBeam"
    PhysicalOpticsPropagation = "PhysicalOpticsPropagation"
    BeamFileViewer = "BeamFileViewer"
    ReflectionvsAngle = "ReflectionvsAngle"
    TransmissionvsAngle = "TransmissionvsAngle"
    AbsorptionvsAngle = "AbsorptionvsAngle"
    DiattenuationvsAngle = "DiattenuationvsAngle"
    PhasevsAngle = "PhasevsAngle"
    RetardancevsAngle = "RetardancevsAngle"
    ReflectionvsWavelength = "ReflectionvsWavelength"
    TransmissionvsWavelength = "TransmissionvsWavelength"
    AbsorptionvsWavelength = "AbsorptionvsWavelength"
    DiattenuationvsWavelength = "DiattenuationvsWavelength"
    PhasevsWavelength = "PhasevsWavelength"