DynExp
Highly flexible laboratory automation for dynamically changing experiments.
|
DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's core functionality in a modular way. More...
Classes | |
class | DummyCameraData |
class | DummyCameraParams |
class | DummyCameraConfigurator |
class | DummyCamera |
class | DummyDataStreamInstrumentData |
class | DummyDataStreamInstrumentParams |
class | DummyDataStreamInstrumentConfigurator |
class | DummyDataStreamInstrument |
class | InterModuleCommunicatorData |
Data class for InterModuleCommunicator . More... | |
class | InterModuleCommunicatorParams |
Parameter class for InterModuleCommunicator . More... | |
class | InterModuleCommunicatorConfigurator |
Configurator class for InterModuleCommunicator . More... | |
class | InterModuleCommunicator |
Defines an inter-module communicator instrument to exchange events in between DynExp modules. Modules can make use of an instance of this instrument. If any of the modules using this instance post an event, the event becomes enqueued in the event queues of all other modules also using this InterModuleCommunicator instance. More... | |
class | NenionLeakvalveF3Data |
class | NenionLeakvalveF3Params |
class | NenionLeakvalveF3Configurator |
class | NenionLeakvalveF3 |
class | NetworkAnalogInT |
class | NetworkAnalogInData |
class | NetworkAnalogInParams |
class | NetworkAnalogInConfigurator |
class | NetworkAnalogOutT |
class | NetworkAnalogOutData |
class | NetworkAnalogOutParams |
class | NetworkAnalogOutConfigurator |
class | NetworkDataStreamInstrumentT |
Data stream instrument for bidirectional gRPC communication. More... | |
class | NetworkDataStreamInstrumentData |
class | NetworkDataStreamInstrumentParams |
class | NetworkDataStreamInstrumentConfigurator |
class | NetworkDataStreamInstrument |
Explicit instantiation of derivable class NetworkDataStreamInstrumentT to create the network data stream instrument. More... | |
class | NetworkDigitalInT |
class | NetworkDigitalInData |
class | NetworkDigitalInParams |
class | NetworkDigitalInConfigurator |
class | NetworkDigitalOutT |
class | NetworkDigitalOutData |
class | NetworkDigitalOutParams |
class | NetworkDigitalOutConfigurator |
class | NetworkSpectrometerData |
class | NetworkSpectrometerParams |
class | NetworkSpectrometerConfigurator |
class | NetworkSpectrometer |
class | NetworkTimeTaggerT |
class | NetworkTimeTaggerData |
class | NetworkTimeTaggerParams |
class | NetworkTimeTaggerConfigurator |
class | NIDAQAnalogInData |
class | NIDAQAnalogInParams |
class | NIDAQAnalogInConfigurator |
class | NIDAQAnalogIn |
class | NIDAQAnalogOutData |
class | NIDAQAnalogOutParams |
class | NIDAQAnalogOutConfigurator |
class | NIDAQAnalogOut |
class | NIDAQDigitalInData |
class | NIDAQDigitalInParams |
class | NIDAQDigitalInConfigurator |
class | NIDAQDigitalIn |
class | NIDAQDigitalOutData |
class | NIDAQDigitalOutParams |
class | NIDAQDigitalOutConfigurator |
class | NIDAQDigitalOut |
class | PI_C_862StageData |
class | PI_C_862_Params |
class | PI_C_862_Configurator |
class | PI_C_862 |
class | PVCamData |
class | PVCamParams |
class | PVCamConfigurator |
class | PVCam |
class | QutoolsQuTAGData |
class | QutoolsQuTAGParams |
class | QutoolsQuTAGConfigurator |
class | QutoolsQuTAG |
class | RS_SMB100BData |
class | RS_SMB100BParams |
class | RS_SMB100BConfigurator |
class | RS_SMB100B |
class | RS_SMC100AData |
class | RS_SMC100AParams |
class | RS_SMC100AConfigurator |
class | RS_SMC100A |
class | SmarActData |
class | SmarActParams |
class | SmarActConfigurator |
class | SmarAct |
class | SwabianInstrumentsPulseStreamerData |
class | SwabianInstrumentsPulseStreamerParams |
class | SwabianInstrumentsPulseStreamerConfigurator |
class | SwabianInstrumentsPulseStreamer |
struct | WidefieldLocalizationCellIDType |
class | WidefieldLocalizationData |
class | WidefieldLocalizationParams |
class | WidefieldLocalizationConfigurator |
class | WidefieldLocalization |
class | ZI_MFLIData |
class | ZI_MFLIParams |
class | ZI_MFLIConfigurator |
class | ZI_MFLI |
class | AnalogInData |
Data class for AnalogIn . More... | |
class | AnalogInParams |
Parameter class for AnalogIn . More... | |
class | AnalogInConfigurator |
Configurator class for AnalogIn . More... | |
class | AnalogIn |
Meta instrument for a single analog input port based on the data stream and generic input port meta instruments. More... | |
class | AnalogOutData |
Data class for AnalogOut . More... | |
class | AnalogOutParams |
Parameter class for AnalogOut . More... | |
class | AnalogOutConfigurator |
Configurator class for AnalogOut . More... | |
class | AnalogOut |
Meta instrument for a single analog output port based on the data stream, function generator, and generic output port meta instruments. More... | |
class | CameraData |
Data class for Camera . More... | |
class | CameraParams |
Parameter class for Camera . More... | |
class | CameraConfigurator |
Configurator class for Camera . More... | |
class | Camera |
Meta instrument for an image capturing (camera) device. More... | |
struct | BasicSample |
Defines a trivially-copyable basic sample as time (t)-value (f(t)) pairs (t, f(t)). More... | |
class | DataStreamBase |
Base class for all data streams compatible with the data stream instrument's data class DataStreamInstrumentData . More... | |
class | CircularDataStreamBase |
Base class for all circular data streams based on Util::circularbuf. More... | |
class | CircularDataStream |
Implements a circular data stream based on Util::circularbuf. More... | |
class | BasicSampleStream |
Implements a circular data stream based on Util::circularbuf using samples of type BasicSample . More... | |
class | NumericSampleStream |
Implements a circular data stream based on Util::circularbuf using samples of an arithmetic type SampleT . More... | |
class | StreamSizeParamsExtension |
Bundles parameters to describe a data stream's stream size. More... | |
class | NumericSampleStreamParamsExtension |
Bundles parameters to describe a NumericSampleStream's sampling properties. More... | |
class | DataStreamInstrumentData |
Data class for DataStreamInstrument . More... | |
class | DataStreamInstrumentParams |
Parameter class for DataStreamInstrument . More... | |
class | DataStreamInstrumentConfigurator |
Configurator class for DataStreamInstrument . More... | |
class | DataStreamInstrument |
Implementation of the data stream meta instrument, which is a base class for all instruments reading/writing single/multiple values from/to input/output devices. More... | |
class | DigitalInData |
Data class for DigitalIn . More... | |
class | DigitalInParams |
Parameter class for DigitalIn . More... | |
class | DigitalInConfigurator |
Configurator class for DigitalIn . More... | |
class | DigitalIn |
Meta instrument for a single digital input port based on the data stream and generic input port meta instruments. More... | |
class | DigitalOutData |
Data class for DigitalOut . More... | |
class | DigitalOutParams |
Parameter class for DigitalOut . More... | |
class | DigitalOutConfigurator |
Configurator class for DigitalOut . More... | |
class | DigitalOut |
Meta instrument for a single digital output port based on the data stream, function generator, and generic output port meta instruments. More... | |
class | FunctionGeneratorData |
Data class for FunctionGenerator . More... | |
class | FunctionGeneratorParams |
Parameter class for FunctionGenerator . More... | |
class | FunctionGeneratorConfigurator |
Configurator class for FunctionGenerator . More... | |
class | FunctionGenerator |
Function generator meta instrument based on the data stream meta instrument to generate waveforms by either fillig data streams with waveform samples or by controlling a physical function generator device. More... | |
class | gRPCInstrument |
Meta instrument template for transforming meta instruments into network instruments, which connect to TCP sockets of gRPC servers. Derive from this class to build a network instrument based on a meta instrument. The network instrument connects to a corresponding server implemented with the DynExpModule::gRPCModule gRPC server module. The server controls the physical instrument itself. The respective meta instrument is selected as a template parameter. This class derives from the instrument. It is possible to use DynExp::InstrumentBase as the meta instrument to design network instruments, which allow accessing gRPC services directly. More... | |
class | gRPCInstrumentData |
Data class for gRPCInstrument . More... | |
class | gRPCInstrumentParams |
Parameter class for gRPCInstrument . More... | |
class | gRPCInstrumentConfigurator |
Configurator class for gRPCInstrument . More... | |
class | InputPortData |
Data class for InputPort . More... | |
class | InputPortParams |
Parameter class for InputPort . More... | |
class | InputPortConfigurator |
Configurator class for InputPort . More... | |
class | InputPort |
Generic input port meta instrument based on the data stream meta instrument to read data from hardware and to write the data to a data stream. More... | |
class | LockinAmplifierData |
Data class for LockinAmplifier . More... | |
class | LockinAmplifierParams |
Parameter class for LockinAmplifier . More... | |
class | LockinAmplifierConfigurator |
Configurator class for LockinAmplifier . More... | |
class | LockinAmplifier |
Meta instrument for a lock-in amplifier based on the data stream meta instrument. More... | |
class | OutputPortData |
Data class for OutputPort . More... | |
class | OutputPortParams |
Parameter class for OutputPort . More... | |
class | OutputPortConfigurator |
Configurator class for OutputPort . More... | |
class | OutputPort |
Generic output port meta instrument based on the data stream and function generator meta instruments to extract data from a data stream and to write the data to hardware. More... | |
class | SpectrometerData |
Data class for Spectrometer . More... | |
class | SpectrometerParams |
Parameter class for Spectrometer . More... | |
class | SpectrometerConfigurator |
Configurator class for Spectrometer . More... | |
class | Spectrometer |
Meta instrument for a spectrometer. More... | |
class | PositionerStageData |
Data class for PositionerStage . More... | |
class | PositionerStageParams |
Parameter class for PositionerStage . More... | |
class | PositionerStageConfigurator |
Configurator class for PositionerStage . More... | |
class | PositionerStage |
Implementation of a meta instrument to control single-axis positioner stages. More... | |
class | TimeTaggerData |
Data class for TimeTagger . More... | |
class | TimeTaggerParams |
Parameter class for TimeTagger . More... | |
class | TimeTaggerConfigurator |
Configurator class for TimeTagger . More... | |
class | TimeTagger |
Meta instrument for a time tagging device to assign timestamps to (e.g. photon) detection events based on the data stream meta instrument. More... | |
class | PyDataStreamInstrument |
Python mapping of a DynExpInstr::DataStreamInstrument's DynExpInstr::DataStreamBase instance. More... | |
Typedefs | |
using | NetworkAnalogIn = NetworkAnalogInT< AnalogIn, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkAnalogIn::NetworkAnalogIn > |
Explicit instantiation of derivable class NetworkAnalogInT to create the network analog in instrument. More... | |
using | NetworkAnalogOut = NetworkAnalogOutT< AnalogOut, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkAnalogOut::NetworkAnalogOut > |
Explicit instantiation of derivable class NetworkAnalogOutT to create the network analog out instrument. More... | |
using | NetworkDataStreamInstrumentDataSampleStreamType = BasicSampleStream |
using | NetworkDigitalIn = NetworkDigitalInT< DigitalIn, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkDigitalIn::NetworkDigitalIn > |
Explicit instantiation of derivable class NetworkDigitalInT to create the network digital in instrument. More... | |
using | NetworkDigitalOut = NetworkDigitalOutT< DigitalOut, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkDigitalOut::NetworkDigitalOut > |
Explicit instantiation of derivable class NetworkDigitalOutT to create the network digital out instrument. More... | |
using | NetworkTimeTagger = NetworkTimeTaggerT< TimeTagger, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkTimeTagger::NetworkTimeTagger > |
Explicit instantiation of derivable class NetworkTimeTaggerT to create the network time tagger instrument. More... | |
template<typename T > | |
using | DataStreamPtrType = std::unique_ptr< T > |
Type of a pointer owning a data stream instance derived from DataStreamBase . More... | |
using | DataStreamBasePtrType = DataStreamPtrType< DataStreamBase > |
Type of a pointer owning a DataStreamBase instance. More... | |
using | AnalogSampleStream = NumericSampleStream< double > |
Alias for a numeric sample stream of double samples. More... | |
using | DigitalSampleStream = NumericSampleStream< uint8_t > |
Alias for a numeric sample stream of uint8_t (single byte) samples. More... | |
using | AnalogSampleStreamPtrType = DataStreamPtrType< AnalogSampleStream > |
Alias for a pointer owning a AnalogSampleStream instance. More... | |
using | DigitalSampleStreamPtrType = DataStreamPtrType< DigitalSampleStream > |
Alias for a pointer owning a DigitalSampleStream instance. More... | |
template<typename gRPCStub > | |
using | StubPtrType = std::shared_ptr< typename gRPCStub::Stub > |
Alias for a pointer to a gRPC stub. More... | |
template<typename gRPCStub , typename RequestMsgType , typename ResponseMsgType > | |
using | StubFuncPtrType = grpc::Status(gRPCStub::*)(grpc::ClientContext *, const RequestMsgType &, ResponseMsgType *) |
Alias for a pointer to a gRPC stub function, which can be invoked as a remote procedure call. More... | |
Functions | |
constexpr DynExpProto::Common::UnitType | ToPrototUnitType (DataStreamInstrumentData::UnitType Unit) |
constexpr DataStreamInstrumentData::UnitType | ToDataStreamInstrumentUnitType (DynExpProto::Common::UnitType Unit) |
constexpr DynExpProto::Common::FrequencyUnitType | ToPrototUnitType (SpectrometerData::FrequencyUnitType Unit) |
constexpr SpectrometerData::FrequencyUnitType | ToSpectrometerUnitType (DynExpProto::Common::FrequencyUnitType Unit) |
constexpr DynExpProto::Common::IntensityUnitType | ToPrototUnitType (SpectrometerData::IntensityUnitType Unit) |
constexpr SpectrometerData::IntensityUnitType | ToSpectrometerUnitType (DynExpProto::Common::IntensityUnitType Unit) |
constexpr SpectrometerData::CapturingStateType | ToSpectrometerStateType (DynExpProto::NetworkSpectrometer::StateType State) |
std::strong_ordering | operator<=> (const WidefieldLocalizationCellIDType &lhs, const WidefieldLocalizationCellIDType &rhs) |
std::ostream & | operator<< (std::ostream &stream, const WidefieldLocalizationCellIDType &CellID) |
template<typename T > | |
T | TransformPixel (T Pixel, const CameraData::ImageTransformationType &ImageTransformation) |
Applies an image transformation to a single pixel. More... | |
template<typename gRPCStub , typename RequestMsgType , typename ResponseMsgType > | |
ResponseMsgType | InvokeStubFunc (StubPtrType< gRPCStub > StubPtr, StubFuncPtrType< gRPCStub, RequestMsgType, ResponseMsgType > StubFunc, const RequestMsgType &RequestMsg) |
Invokes a gRPC stub function as a remote procedure call. Waits for a fixed amount of time (2 seconds) for a reply from the server until the call is considered to have exceeded its deadline. More... | |
DynExp's instrument namespace contains the implementation of DynExp instruments which extend DynExp's core functionality in a modular way.
using DynExpInstr::AnalogSampleStream = typedef NumericSampleStream<double> |
Alias for a numeric sample stream of double
samples.
Definition at line 658 of file DataStreamInstrument.h.
using DynExpInstr::AnalogSampleStreamPtrType = typedef DataStreamPtrType<AnalogSampleStream> |
Alias for a pointer owning a AnalogSampleStream
instance.
Definition at line 660 of file DataStreamInstrument.h.
using DynExpInstr::DataStreamBasePtrType = typedef DataStreamPtrType<DataStreamBase> |
Type of a pointer owning a DataStreamBase
instance.
Definition at line 264 of file DataStreamInstrument.h.
using DynExpInstr::DataStreamPtrType = typedef std::unique_ptr<T> |
Type of a pointer owning a data stream instance derived from DataStreamBase
.
Definition at line 259 of file DataStreamInstrument.h.
using DynExpInstr::DigitalSampleStream = typedef NumericSampleStream<uint8_t> |
Alias for a numeric sample stream of uint8_t
(single byte) samples.
Definition at line 659 of file DataStreamInstrument.h.
using DynExpInstr::DigitalSampleStreamPtrType = typedef DataStreamPtrType<DigitalSampleStream> |
Alias for a pointer owning a DigitalSampleStream
instance.
Definition at line 661 of file DataStreamInstrument.h.
using DynExpInstr::NetworkAnalogIn = typedef NetworkAnalogInT<AnalogIn, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkAnalogIn::NetworkAnalogIn> |
Explicit instantiation of derivable class NetworkAnalogInT to create the network analog in instrument.
Definition at line 228 of file NetworkAnalogInInstr.h.
using DynExpInstr::NetworkAnalogOut = typedef NetworkAnalogOutT<AnalogOut, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkAnalogOut::NetworkAnalogOut> |
Explicit instantiation of derivable class NetworkAnalogOutT to create the network analog out instrument.
Definition at line 300 of file NetworkAnalogOutInstr.h.
Definition at line 22 of file NetworkDataStreamInstrument.h.
using DynExpInstr::NetworkDigitalIn = typedef NetworkDigitalInT<DigitalIn, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkDigitalIn::NetworkDigitalIn> |
Explicit instantiation of derivable class NetworkDigitalInT to create the network digital in instrument.
Definition at line 176 of file NetworkDigitalInInstr.h.
using DynExpInstr::NetworkDigitalOut = typedef NetworkDigitalOutT<DigitalOut, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkDigitalOut::NetworkDigitalOut> |
Explicit instantiation of derivable class NetworkDigitalOutT to create the network digital out instrument.
Definition at line 216 of file NetworkDigitalOutInstr.h.
using DynExpInstr::NetworkTimeTagger = typedef NetworkTimeTaggerT<TimeTagger, 0, typename NetworkDataStreamInstrument::StubType, DynExpProto::NetworkTimeTagger::NetworkTimeTagger> |
Explicit instantiation of derivable class NetworkTimeTaggerT to create the network time tagger instrument.
Definition at line 501 of file NetworkTimeTagger.h.
using DynExpInstr::StubFuncPtrType = typedef grpc::Status(gRPCStub::*)(grpc::ClientContext*, const RequestMsgType&, ResponseMsgType*) |
Alias for a pointer to a gRPC stub function, which can be invoked as a remote procedure call.
gRPCStub | gRPC stub type the function is a member of |
RequestMsgType | Type of the gRPC message to be sent to the server along with the remote procedure call |
ResponseMsgType | Type of the gRPC message which is received from the server after the remote procedure call |
Definition at line 352 of file gRPCInstrument.h.
using DynExpInstr::StubPtrType = typedef std::shared_ptr<typename gRPCStub::Stub> |
Alias for a pointer to a gRPC stub.
gRPCStub | gRPC stub type the pointer points to |
Definition at line 143 of file gRPCInstrument.h.
|
inline |
Invokes a gRPC stub function as a remote procedure call. Waits for a fixed amount of time (2 seconds) for a reply from the server until the call is considered to have exceeded its deadline.
gRPCStub | gRPC stub type the function is a member of |
RequestMsgType | Type of the gRPC message to be sent to the server along with the remote procedure call |
ResponseMsgType | Type of the gRPC message which is received from the server after the remote procedure call |
StubPtr | gRPC stub pointer to invoke the remote procedure call on |
StubFunc | Pointer to the stub function to be invoked on StubPtr |
RequestMsg | gRPC message to be sent to the server along with the remote procedure call |
Util::InvalidStateException | is thrown if StubPtr is nullptr (likely, the gRPCInstrument this stub pointer belongs to has not been initialized/started yet). |
Util::InvalidArgException | is thrown if StubFunc is nullptr . |
DynExpHardware::gRPCException | is thrown if the remote procedure call has failed (e.g. the connection has been lost or the server did not reply in time). |
Definition at line 373 of file gRPCInstrument.h.
std::ostream & DynExpInstr::operator<< | ( | std::ostream & | stream, |
const WidefieldLocalizationCellIDType & | CellID | ||
) |
Definition at line 18 of file WidefieldLocalization.cpp.
std::strong_ordering DynExpInstr::operator<=> | ( | const WidefieldLocalizationCellIDType & | lhs, |
const WidefieldLocalizationCellIDType & | rhs | ||
) |
Definition at line 8 of file WidefieldLocalization.cpp.
|
constexpr |
Definition at line 39 of file NetworkDataStreamInstrument.h.
|
constexpr |
Definition at line 24 of file NetworkDataStreamInstrument.h.
|
constexpr |
Definition at line 22 of file NetworkSpectrometer.h.
|
constexpr |
Definition at line 44 of file NetworkSpectrometer.h.
|
constexpr |
Definition at line 62 of file NetworkSpectrometer.h.
|
constexpr |
Definition at line 33 of file NetworkSpectrometer.h.
|
constexpr |
Definition at line 53 of file NetworkSpectrometer.h.
|
inline |
Applies an image transformation to a single pixel.
T | Type of the pixel to transform |
Pixel | Pixel to transform |
ImageTransformation | Image transformation to apply. Refer to CameraData::ImageTransformationType. The CameraData::ImageTransformationType::IsEnabled property is ignored here and assumed to be true. |