Qudi
Public Member Functions | List of all members
confocal_scanner_interface.ConfocalScannerInterface Class Reference

This is the Interface class to define the controls for the simple microwave hardware. More...

Inheritance diagram for confocal_scanner_interface.ConfocalScannerInterface:
Inheritance graph
[legend]
Collaboration diagram for confocal_scanner_interface.ConfocalScannerInterface:
Collaboration graph
[legend]

Public Member Functions

def reset_hardware (self)
 Resets the hardware, so the connection is lost and other programs can access it. More...
 
def get_position_range (self)
 Returns the physical range of the scanner. More...
 
def set_position_range (self, myrange=None)
 Sets the physical range of the scanner. More...
 
def set_voltage_range (self, myrange=None)
 Sets the voltage range of the NI Card. More...
 
def get_scanner_axes (self)
 Find out how many axes the scanning device is using for confocal and their names. More...
 
def get_scanner_count_channels (self)
 Returns the list of channels that are recorded while scanning an image. More...
 
def set_up_scanner_clock (self, clock_frequency=None, clock_channel=None)
 Configures the hardware clock of the NiDAQ card to give the timing. More...
 
def set_up_scanner (self, counter_channels=None, sources=None, clock_channel=None, scanner_ao_channels=None)
 Configures the actual scanner with a given clock. More...
 
def scanner_set_position (self, x=None, y=None, z=None, a=None)
 Move stage to x, y, z, a (where a is the fourth voltage channel). More...
 
def get_scanner_position (self)
 Get the current position of the scanner hardware. More...
 
def scan_line (self, line_path=None, pixel_clock=False)
 Scans a line and returns the counts on that line. More...
 
def close_scanner (self)
 Closes the scanner and cleans up afterwards. More...
 
def close_scanner_clock (self, power=0)
 Closes the clock and cleans up afterwards. More...
 
- Public Member Functions inherited from core.module.ModuleMeta
def __new__ (cls, name, bases, attrs)
 Collect declared Connectors, ConfigOptions and StatusVars into dictionaries. More...
 

Detailed Description

This is the Interface class to define the controls for the simple microwave hardware.

Member Function Documentation

◆ close_scanner()

def confocal_scanner_interface.ConfocalScannerInterface.close_scanner (   self)

Closes the scanner and cleans up afterwards.

Returns
int: error code (0:OK, -1:error)

◆ close_scanner_clock()

def confocal_scanner_interface.ConfocalScannerInterface.close_scanner_clock (   self,
  power = 0 
)

Closes the clock and cleans up afterwards.

Returns
int: error code (0:OK, -1:error)

◆ get_position_range()

def confocal_scanner_interface.ConfocalScannerInterface.get_position_range (   self)

Returns the physical range of the scanner.

Returns
float [4][2]: array of 4 ranges with an array containing lower and upper limit

◆ get_scanner_axes()

def confocal_scanner_interface.ConfocalScannerInterface.get_scanner_axes (   self)

Find out how many axes the scanning device is using for confocal and their names.

Returns
list(str): list of axis names

Examples

For 3D confocal microscopy in cartesian coordinates, ['x', 'y', 'z'] is a sensible value.
For 2D, ['x', 'y'] would be typical.
You could build a turntable microscope with ['r', 'phi', 'z'].
Most callers of this function will only care about the number of axes, though.
On error, return an empty list.

◆ get_scanner_count_channels()

def confocal_scanner_interface.ConfocalScannerInterface.get_scanner_count_channels (   self)

Returns the list of channels that are recorded while scanning an image.

Returns
list(str): channel names

Most methods calling this might just care about the number of channels.

◆ get_scanner_position()

def confocal_scanner_interface.ConfocalScannerInterface.get_scanner_position (   self)

Get the current position of the scanner hardware.

Returns
float[n]: current position in (x, y, z, a).

◆ reset_hardware()

def confocal_scanner_interface.ConfocalScannerInterface.reset_hardware (   self)

Resets the hardware, so the connection is lost and other programs can access it.

Returns
int: error code (0:OK, -1:error)

◆ scan_line()

def confocal_scanner_interface.ConfocalScannerInterface.scan_line (   self,
  line_path = None,
  pixel_clock = False 
)

Scans a line and returns the counts on that line.

Parameters
float[k][n]line_path: array k of n-part tuples defining the pixel positions
boolpixel_clock: whether we need to output a pixel clock for this line
Returns
float[k][m]: the photon counts per second for k pixels with m channels

◆ scanner_set_position()

def confocal_scanner_interface.ConfocalScannerInterface.scanner_set_position (   self,
  x = None,
  y = None,
  z = None,
  a = None 
)

Move stage to x, y, z, a (where a is the fourth voltage channel).

Parameters
floatx: postion in x-direction (volts)
floaty: postion in y-direction (volts)
floatz: postion in z-direction (volts)
floata: postion in a-direction (volts)
Returns
int: error code (0:OK, -1:error)

◆ set_position_range()

def confocal_scanner_interface.ConfocalScannerInterface.set_position_range (   self,
  myrange = None 
)

Sets the physical range of the scanner.

Parameters
float[4][2] myrange: array of 4 ranges with an array containing lower and upper limit
Returns
int: error code (0:OK, -1:error)

◆ set_up_scanner()

def confocal_scanner_interface.ConfocalScannerInterface.set_up_scanner (   self,
  counter_channels = None,
  sources = None,
  clock_channel = None,
  scanner_ao_channels = None 
)

Configures the actual scanner with a given clock.

Parameters
strcounter_channels: if defined, these are the physical conting devices
strsources: if defined, these are the physical channels where the photons are to count from
strclock_channel: if defined, this specifies the clock for the counter
strscanner_ao_channels: if defined, this specifies the analoque output channels
Returns
int: error code (0:OK, -1:error)

◆ set_up_scanner_clock()

def confocal_scanner_interface.ConfocalScannerInterface.set_up_scanner_clock (   self,
  clock_frequency = None,
  clock_channel = None 
)

Configures the hardware clock of the NiDAQ card to give the timing.

Parameters
floatclock_frequency: if defined, this sets the frequency of the clock
strclock_channel: if defined, this is the physical channel of the clock
Returns
int: error code (0:OK, -1:error)

◆ set_voltage_range()

def confocal_scanner_interface.ConfocalScannerInterface.set_voltage_range (   self,
  myrange = None 
)

Sets the voltage range of the NI Card.

Parameters
float[2] myrange: array containing lower and upper limit
Returns
int: error code (0:OK, -1:error)

The documentation for this class was generated from the following file: