Skip to content

GLINT:Bench setup (new)

mwanakijiji edited this page Sep 27, 2024 · 19 revisions

There are various SCExAO computers. GLINT users will need to control scexao2 & scexao5. To ssh between SCExAO computers, use ssh sc2, ssh sc5 etc. into any xterm terminal.

Points of courtesy:

  • Schedule your bench use in the SCExAO calendar
  • At the start of the session, message the #bench-use Slack channel that you are using the bench, and continue to monitor the channel.
  • At the end of the session, message the #bench-use Slack channel that you have finished.
  • Always leave things in the same state as you found them. It might help to take a screenshot as you start.

If any issues are encountered, feel free to message #bench-help.

Overview

For reference, here is a diagram with indicated elements that will come into play:

Solidworks

scexao2 setup: Main bench

IP: 133.40.162.192

VNC screen: 5901

scexao2 is controlled and accessed by numerous SCExAO users, but only portions of the VNC bench are useful for GLINT. Below is a screenshot of the scexao2 bench, but do not to get too comfortable with a particular layout as this can change between different users. If there are missing terminals, you can open a new one by:

right-click -> Applications -> Terminal Emulators -> xterm

image

SCExAO status display

This display shows the status of various components and instruments that are part of scexao2. If this is not shown, run scexaostatus disp in a new terminal.

SuperK control

The light source used when testing GLINT is the supercontinuum laser called SuperK 2 SCExAO (spectrum here), which covers Vis & IR wavelengths.

To control the source, use an ordinary scexao2 terminal.

Turning the source on/off

(A tip: take new darks for Apapane and Palila before proceeding, with a 'Ctrl B' for both cameras.)

To turn the source on,

superk power on

To turn the source off,

superk power off 

Changing filters

There are a few filter wheels with numerous positions that are described in the below command help list. Ideally, when turning on the SuperK, these filters should be in their default position to ensure no camera pixels are burned. Running src_flux default will return the filters to this default position i.e. nd1, nd2, and nd3 will be OD 2.5, and filter will be Open. When decreasing these filters, begin decreasing with nd3, then nd2, then nd1. Monitor apapane simultaneously, and add an IR camera block if necessary, to prevent pixel damage.

Note that it is not unusual to blast light into GLINT. Spectra are typically seen for filters nd1 6, nd2 1, nd3 1, filter 1 (with an IR camera block in).

---------------------------------------
Usage: src_flux <dev>  <command>
---------------------------------------
DEV:
    nd1     move nd1 stage
    nd2     move nd2 stage
    nd3     move nd3 stage
    filter  move filter stage
    default  default NDs (7.5)
    min     minimum flux, max NDs
    max     maximum flux, no NDs. CAUTION!
    more    more flux by factor ~2
    less    less flux by factor ~2
    waymore  more flux by factor ~10
    wayless  less flux by factor ~10
COMMAND:
    status  displays status
     1 - 6 defined positions
ARG:
    numerical value for position
CONTENT:
    nd1
    1 Open            
    2 OD 0.3          
    3 OD 1.0          
    4 OD 1.3          
    5 OD 2.0          
    6 OD 2.5          
    nd2
    1 Open            
    2 OD 0.3          
    3 OD 1.0          
    4 OD 1.3          
    5 OD 2.0          
    6 OD 2.5          
    nd3
    1 Open            
    2 OD 1.3          
    3 OD 2.5          
    4 1500nm LP       
    5 900nm LP        
    6 VIS OD 4.0      
    filter
    1 Open              
    2 800nm SP          
    3 1250nm 25nm BW    
    4 1300m, 25nm BW    
    5 1350nm 25nm BW    
    6 OD 2.0            
---------------------------------------  

Sending light to GLINT

To get light into GLINT, move the photonics pickoff mirror (Photonics PO in the SCExAO status display), which directs 90% of light to photonics. The PSF on Palila will change as the mirror moves, but will return to an point source once complete.

To send light into GLINT, in the scexao2 xterm run

photonics_pickoff in

Alternatively, in the same terminal run photonics_pickoff out.

Using IR only (GLINT)

GLINT uses IR light only, so most of the time the bench is set up for IR use. In this case, the SCExAO status display will show Dichroic IN, and Comp. plate OUT. (The compensator plate reproduces the translation of the beam induced by the dichroic, which is tilted.)

If this is not the case, in the scexao2 xterm run dichroic in, then run compplate. If the compensator plate was originally displayed as IN, this command will move it OUT, but if it was initially OUT, this will move it IN.

The dichroic splits IR and visible light, and sends the latter to the SCExAO VIS bench. When this is not used, there is a compensator plate to account for the change in optics.

Using IR & Visible

The dichroic must be OUT (run dichroic out), and the compensator plate must be IN. (Visible light could be useful for alignment-- for example, in situ alignment with a card. But you can't see it on the science detector.)

Using Visible only

The dichroic must be OUT, the compensator plate must be IN, and a 800nm short pass filter must be used (src_flux filter 2). This is an eye-safe setting used during alignment.

Palila camera

Palila uses a CRED2 camera, and is primarily used to show the SCExAO PSF. Below are help commands which are printed when h is pressed on the palila camera window. (Tip: ALT may be your 'command' button if you're using a Mac, depending on the key mapping.)

PALILA's INSTRUCTIONS
-------------------

camera controls:
---------------
q           : increase exposure time
a           : decrease exposure time
CTRL+q      : increase number of NDR
CTRL+a      : decrease number of NDR
CTRL+SHIFT+<number>: jump to NDR 2**<number>
CRTL+o      : increase frame rate
CTRL+l      : decrease frame rate
CTRL+h      : hotspotalign
CTRL+p      : camera to pupil plane/focus plane
CTRL+i      : REACH mode in/out
CTRL+b      : take new darks
CTRL+SHIFT+b: take new dark for current exp
CTRL+r      : save a reference image
CTRL+s      : start/stop logging images
CTRL+SHIFT+s: start/stop archiving images
CTRL+d      : save a HDR image
CTRL+n      : switch to external/internal trigger
CTRL+1-6    : change filter wheel slot:
              1. OPEN
              2. y-band
              3. 1550 nm, 25 nm BW
              4. 1550 nm, 50 nm BW
              5. J-band
              6. H-band
CTRL+7      : ircam block
CTRL+ARROW  : move PSF in focal plane
CTRL+SHIFT+ARROW  : move PSF in focal plane (more)
CTRL+ALT+f  : change to full frame
CTRL+ALT+0-=: change window size:
  [0]  320 x 256    ( 160-479 x  128-383)  fps = 1500.1 Hz
  [1]  224 x 188    ( 192-415 x  160-347)  fps = 2050.2 Hz
  [2]  128 x 128    ( 256-383 x  192-319)  fps = 4500.6 Hz
  [3]   64 x  64    ( 288-351 x  224-287)  fps = 9203.6 Hz
  [4]  192 x 192    ( 224-415 x  160-351)  fps = 2200.0 Hz
  [5]   96 x  72    ( 256-351 x  220-291)  fps = 8002.6 Hz
  [6]  320 x 256    ( 128-447 x  128-383)  fps = 1500.1 Hz
  [7]  224 x 188    ( 160-383 x  160-347)  fps = 2050.2 Hz
  [8]  128 x 128    ( 224-351 x  192-319)  fps = 4500.6 Hz
  [9]   64 x  64    ( 256-319 x  224-287)  fps = 9203.6 Hz
  [-]  192 x 192    ( 192-383 x  160-351)  fps = 2200.0 Hz
  [=]   96 x  72    ( 224-319 x  220-291)  fps = 8002.6 Hz
display controls:
----------------
d         : subtract dark for display
c         : display hotstpot crosses
l         : linear/non-linear display
m         : color/gray color-map
o         : bullseye on the PSF
i         : history of PSF positions
v         : start/stop accumulating and averaging frames
g         : seeing measurement (averaging must be on)
t         : Strehl measurement (averaging must be on)
z         : zoom/unzoom on the center of the image
r         : subtract a reference image

mouse controls:
--------------
mouse     : display of the flux under the mouse pointer
left click: measure distances in mas

ESC       : quit Palila

Apapane camera

Apapane uses a CRED1 camera (or a CRED2 fallback) to display spectrograph outputs, which appear horizontally on the screen. Below are help commands which are printed when h is pressed on the apapane camera window. For GLINT, it is used in full frame (320 x 256) with an H-band filter, and spectra should appear horizontally (with the CRED1; vertical with the CRED2). There are various choices for framerate, exposure, gain, NDR etc. which the user can play around with, but generally these do not need to be touched. However, NDR 2 and a framerate < 2000 Hz often works well.

It is not uncommon for the CRED2 camera to be used for apapane instead even though this is not the configuration that will be used during observing for GLINT. It is still usable. Note that the CRED2 full frame will be (640x512) and the spectra will appear vertical.

APAPANE's INSTRUCTIONS
-------------------

camera controls:
---------------
q           : increase exposure time
a           : decrease exposure time
e           : display  CRED1 gain
w           : increase CRED1 gain
s           : decrease CRED1 gain
CTRL+q      : increase number of NDR
CTRL+a      : decrease number of NDR
CTRL+SHIFT+<number>: jump to NDR 2**<number>
CTRL+o      : increase frame rate
CTRL+l      : decrease frame rate
CTRL+h      : hotspotalign
CTRL+i      : REACH mode in/out
CTRL+b      : take new darks
CTRL+SHIFT+b: take new dark for current exp
CTRL+r      : save a reference image
CTRL+s      : start/stop logging images
CTRL+SHIFT+s: start/stop archiving images
CTRL+d      : save a HDR image
CTRL+n      : switch to external/internal trigger
CTRL+1-6    : change filter wheel slot:
              1. OPEN
              2. y-band
              3. 1550 nm, 25 nm BW
              4. 1550 nm, 50 nm BW
              5. J-band
              6. H-band
CTRL+7      : ircam block
CTRL+ARROW  : move PSF in focal plane
CTRL+ALT+f  : change to full frame
CTRL+ALT+0-=: change window size:
        FULL/0:
        [0] 320 x 256    (   0-319,  0-255 ) fps =  1738.15 Hz
        [1]  64 x  64    ( 128-191, 96-159 ) fps = 20679.01 Hz
        [2] 128 x 128    (  96-223, 64-191 ) fps =  7008.36 Hz
        [3] 160 x 160    (  64-223, 48-207 ) fps =  4926.47 Hz
        [4] 192 x 192    (  64-255, 32-223 ) fps =  3570.15 Hz
        [5] 224 x 224    (  32-255, 16-239 ) fps =  2704.52 Hz
        [6] 256 x 256    (  32-287,  0-255 ) fps =  2117.12 Hz
        [7] 160 x  80    (  64-223, 88-167 ) fps =  9305.55 Hz
        [8] 192 x  80    (  64-255, 88-167 ) fps =  8065.61 Hz

display controls:
----------------
d         : subtract dark for display
c         : display hotstpot crosses
l         : linear/non-linear display
m         : color/gray color-map
o         : bullseye on the PSF
i         : history of PSF positions
v         : start/stop accumulating and averaging frames
g         : seeing measurement (averaging must be on)
z         : zoom/unzoom on the center of the image
r         : subtract a reference image

mouse controls:
--------------
mouse     : display of the flux under the mouse pointer
left click: measure distances in mas

ESC       : quit apapane

IR Spectrograph fiber manual alignment (spectrograph control)

If GLINT is aligned and light is entering the photonic chip, spectra should be seen on apapane. The IR Spectro Fiber manual alignment GUI can be used to control this view. If this GUI is not launched, open a new terminal and run:

fibinj_setup

Users can click on options or select them then press enter/return on their keyboard to proceed. From the root display (i.e. if you continue to click back to the first page), click 6 GLINT.

image

There are various options:

04 Move pickoff in: (does the same thing as photonics_pickoff in)

07 Move pickoff out: (does the same thing as photonics_pickoff out)

09 IRESPECTRO photometric mode: this will re-image the output of the fibres, which will look like 12 point sources i.e. one for each fiber output. 'IR bench photonics' > 'IR Spectro Col' refers to the collimating lens focus. This should show up as 'GLINT V-groove' but the setpoint has to typically be changed after every camera change. To do so, in the scexao2 xterm window go to 'Manual Fibre Alignment'

Amplitude: step size Focus in/out: small steps are recommended (<=0.1 mm) Move up/down/left/right: movements of V-groove on detector

image

10 IRESPECTRO spectroscopic mode: places the prism in, dispering the outputs of the fibers.

[GET NEW PIC WITHOUT CROSSHAIRS]

image

11 Manual Fiber alignment: when this is selected, a new page of the GUI is shown:

  • Amplitude: step size
  • Focus in/out: small steps are recommended (<=0.1 mm)
  • Move up/down/left/right: move the V-groove on detector.

Note that there is a lag when selecting from this menu. Also, when exiting this view the positions will be saved for GLINT specifically.

12 IRSPECTRO out: should not need to touch this.

If not all 12 outputs are visible:

  1. Manually move the detector using the options in 11 Manual Fiber alignment.
  2. Ensure all three apertures of the chip have light entering them by checking alignment of the MEMS DM and Mega Mount 5000.

scexao5 setup: GLINT bench

IP: 133.40.161.194

VNC screen: 3

All GLINT code and data can be found in /home/scexao/glint/. Whenever scexao5 is power cycled, GLINT users must set up the bench again. This will involve setting up the tmux.

To open new terminals, right-click -> Terminal Emulator.

Photonics pickoff

Camera setup

There should be a tmux session called glintpg_ctrl running for the GLINT point grey cameras. To control these, attach to the tmux in a new scexao5 terminal by:

tmux a -t glintpg_ctrl

To detach (exit) from a tmux and return to terminal, press CTRL+b and then d.

Initialising cameras

If the glintpg_ctrl tmux does not exist:

tmux new -s glintpg_ctrl

In this tmux:

conda activate pycapture
ipython
> from camstack.cams.flycapturecam import Chameleon3
> pg1 = Chameleon3('glintpg1', 'glintpg1', 'FULL', 15322651)
> pg2 = Chameleon3('glintpg2', 'glintpg2', 'FULL', 15322653)

pg1 is the pupil plane camera, and pg2 is the focal plane camera.

To open the camera windows, in a new terminal run the following (you can be anywhere in the directory tree; no need to be in the directory that contains the script)

shmImshow.py glintpg1 &
shmImshow.py glintpg2 &

Camera controls

The settings of the point grey cameras can be changed in the the same glintpg_ctrl tmux python window. Usage: pg1.<command> or pg1.<command>

<command>:

  • get_gain(): get the gain
  • set_gain(GAIN): set the gain to GAIN (often set to 0)
  • get_tint(): get the integration time
  • set_tint(INT_TIME): set the integration time to INT_TIME (often at its minimum)
  • get_fps(): get the framerate
  • set_fps(FRAMERATE): set the framerate to FRAMERATE

These are a handful of functions but for more, try TAB completing.

GUI setup

Navigate to /home/scexao/glint/gui/ and run,

python run_gui.py

In the terminal the following will be printed as a result of opening the DM, opening the mount, and from pyMilk.interfacing.shm import SHM in open_devices.py.

DEBUG - SDK Install Path: /opt/Boston
DEBUG - BMC_PCIeOpenDM 32AW038#027 0
DEBUG - 1 BMC PCIe cards installed.
DEBUG - Using automatic devId: 1
DEBUG - BMC_PCIeOpenDM opening 0
INFO - PCIe HW Rev: 20000600
DEBUG - Loading map file: /opt/Boston/Map/XCL111.map expected count: 144
WARN - Map has only 140 actuators but driver expects 144 channels. Mapping the rest to #144
INFO - Loading calibration for DM: 32AW038#027
DEBUG - Loading map file: /opt/Boston/Map/XCL111.map expected count: 144
WARN - Map has only 140 actuators but driver expects 144 channels. Mapping the rest to #144
DM opened successfully
Mount opened successfully
/home/scexao/miniforge3/lib/python3.10/site-packages/numpy/core/getlimits.py:549: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  setattr(self, word, getattr(machar, word).flat[0])
/home/scexao/miniforge3/lib/python3.10/site-packages/numpy/core/getlimits.py:89: UserWarning: The value of the smallest subnormal for <class 'numpy.float64'> type is zero.
  return self._float_to_str(self.smallest_subnormal)
image

See GUI for further instructions on operating the GUI.

Shutdown

Run the basic setup commands in reverse:

superk power off
src_flux default
photonics_pickoff out

Troubleshooting

Palila disappeared/is frozen!

  • If the palila window is not displayed, in a new scexao2 xterm terminal (not the terminal used to control the laser source or the terminal used for apapane) run camstart -s palila. The command camstart is run on scexao5, but this command can be run on scexao2 when using the flag -s. Then run palila & to display the camera window.

  • If this doesn't work:

  1. camstart -s palila
  2. ssh sc5
  3. /opt/EDTpdv/serial_cmd -u 3 status
  4. If nothing shows, ssh sc2
  5. palila_power off
  6. palila_power on

Back to 1.

Apapane disappeared/is frozen!

  1. If the apapane window is not displayed, in a new scexao2 xterm terminal (not the terminal used to control the laser source or the terminal used for palila) run camstart -s apapane. Then run apapane & to display the camera window.

  2. If this doesn't work, ask #bench-help.

Apapane size-changing bug

If the apapane terminal prints

line 110, in open_shm_fullpath
    shm_data = SHM(shm_name, data=data,
UnboundLocalError: local variable 'data' referenced before assignment

... or is stuck in an endless look printing Apapane is changing size:

image

Run the following in a scexao2 terminal:

 rm /milk/shm/apapane_*.im.shm

How to move optics unrelated to GLINT

  1. Try tab completing e.g. if you want to move the dichroic, try dichroic <tab> and see the available scripts
  2. Look directly in ~/Instrument-Control-Main/bin/devices
  3. SCExAO documentation

Point grey tmux error

If there is a repeating error in the glintpg_ctrl tmux (which happens often), e.g. Error:root:Polling thread: error [Fc2error(20)], detach from the tmux and run:

tmux kill-session -t glintpg_ctrl

Then continue to Initialising cameras.

Point grey cameras aren't initialising

Often after a power cycle the point grey cameras don't initialise properly i.e., when you initialise the variables pg1 and pg2 in the glintpg_ctrl tmux, there's and endless loop. To fix this, open a new terminal then

tmux a -t glintpg1_fgrab 
source ~/.bashrc

Detach from that tmux, then

tmux a -t glintpg2_fgrab 
source ~/.bashrc

Try re-initialising the cameras in glintpg_ctrl tmux.

Clone this wiki locally