Programming Reference for VirtualLab Fusion  2022.1
Classes | Enumerations
VirtualLabAPI.Core.StandardTransmissionDesign Namespace Reference

Classes

class  ConstraintSpecification
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
This class stores the specification of all constraints applied during an IFTA optimization. More...
 
class  DesignAlgorithmHandler
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
The IFTA Optimization Document. More...
 
class  IterationDataOutput
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Delegates and parameters to be used for visualizing progress during iteration, for logging merit functions, and for creating animations More...
 

Enumerations

enum  DesignMethod { IFTAApproach , GeometricalOpticsBeamShaping }
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Supported Design methods (IFTA or geometric beam shaping). More...
 
enum  DesignStep {
  NotStarted , SetInitialTransmission , SPO , SNRPhase ,
  SoftQuant , SNRQuant
}
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Design steps used for progress indication More...
 
enum  InitialTransmissionMethod { ConstantOne , RandomPhase , SignalField , RandomSignalPhase }
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Supported transmission types of initial transmission functions More...
 
enum  LoggingFunction {
  NumItCurrentStep , WindowEfficiency , ConversionEfficiency , SNR ,
  UniformityError , DCIntensity , MaxNoiseIntensity , ProjectionStrength ,
  ScaleFactorAbs , ScaleFactorArg , DCEfficiency , LastEntry
}
 This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Parameters which can be logged during iteration More...
 
enum  PropagationType {
  AngularFarField , TwoFSetup , FresnelPropagation , AngularSpectrumPropagation ,
  UserDefined
}
 Supported propagation types More...
 
enum  TransmissionType {
  ContinuousPhaseOnly , QuantizedPhaseOnly , ContinuousAmplitudeOnly , QuantizedAmplitudeOnly ,
  Complex , ContinuousSpiral , QuantizedSpiral
}
 Supported transmission types More...
 

Enumeration Type Documentation

◆ DesignMethod

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Supported Design methods (IFTA or geometric beam shaping).

Enumerator
IFTAApproach 

Design approach based on iterative Fourier transform algorithm.

GeometricalOpticsBeamShaping 

Design approach based on geometric beam shaping.

◆ DesignStep

enum DesignStep

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Design steps used for progress indication

Enumerator
NotStarted 

No design running

SetInitialTransmission 

Step for setting initial transmission function

SPO 

SPO step

SNRPhase 

SNR optimization for phase-only constraint

SoftQuant 

Soft quantization

SNRQuant 

SNR optimization for quantization constraint

◆ InitialTransmissionMethod

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Supported transmission types of initial transmission functions

Enumerator
ConstantOne 

Constant one

RandomPhase 

Random phase

SignalField 

Backward propagated desired output field

RandomSignalPhase 

Backward propagated desired output field (random phase)

◆ LoggingFunction

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Parameters which can be logged during iteration

Enumerator
NumItCurrentStep 

Iteration number in current design step

WindowEfficiency 

Window efficiency in percent

ConversionEfficiency 

Conversion efficiency in percent

SNR 

Signal-to-noise ratio in dB

UniformityError 

Uniformity error in percent

DCIntensity 

Zeroth order intensity in the same scaling as the desired output field

MaxNoiseIntensity 

Maximum noise intensity in scaling of the desired output field

ProjectionStrength 

Projection strength

ScaleFactorAbs 

Magnitude of optimal scale factor

ScaleFactorArg 

Phase of optimal scale factor in radians

DCEfficiency 

Zeroth order intensity related to input field power

LastEntry 

Not used for logging

◆ PropagationType

Supported propagation types

Enumerator
AngularFarField 

far field setup (angular output plane coordinates)

TwoFSetup 

2 f setup (metric output plane coordinates)

FresnelPropagation 

Fresnel propagation (metric output plane coordinates)

AngularSpectrumPropagation 

Angular spectrum propagation (metric output plane coordinates)

UserDefined 

Selects a user defined propagation operator. The user-defined propagation operator must base on SystemUsingTEA base class.

◆ TransmissionType

Supported transmission types

Enumerator
ContinuousPhaseOnly 

Continuous phase-only function

QuantizedPhaseOnly 

Quantized phase-only function

ContinuousAmplitudeOnly 

Continuous amplitude-only function

QuantizedAmplitudeOnly 

Quantized amplitude-only function

Complex 

Normalized complex-valued function

ContinuousSpiral 

Allows to choose a dependency between amplitude and phase of the transmission used for spatial light modulators and index modulated elements. Only allowed in the index modulation design module and the developer edition.

QuantizedSpiral 

Allows to choose a dependency between amplitude and phase of the transmission used for spatial light modulators and index modulated elements. Only allowed in the index modulation design module and the developer edition.