The Microscope
https://sites.google.com/site/msimdocumentation/home/SIM%20set-up.JPG
Things to turn on
Both red switches
DMD
Computer
Shutters – 488nm and/or 561nm
Nitrogen gas – for the table
Turn the key for the laser(s) – 488nm and/or 561nm
Also, verify that the filter cube on the microscope is in position 1 and the plunger is out
Taking a calibration
Finding the sample
Load a calibration slide (also referred to as the lake) on the microscope
- NOTE: The orange slide can be used for both 561nm and 488nm lasers
- NOTE: Don't forget to add oil to the objective (from the brown bottle for the 60X oil objective, from the green bottle for the 60X silicone objective)
https://sites.google.com/site/msimdocumentation/home/Oil%20and%20calibration%20slides.JPG
Open CamWare64 (camera software) and AlpBasic (DMD software) from the desktop
In AlpBasic,
- Close the untitled window and open “default DMD script” (found in Documents\SIM)
- Go to “Device,” click on “Attach,” and then select “ok” to attach the DMD
- Press the “Pause/single step” button until the green arrow is next to the “sleep” line below the “illumination_pattern-1”
https://sites.google.com/site/msimdocumentation/home/AlpBasic.JPG
In CamWare64,
- Click on the “Live Preview” button (magnifying glass) to see the current field of view
- Ensure the “Continuous auto-range” is on
https://sites.google.com/site/msimdocumentation/home/CamWare.JPG
- Press the “Enable” button on the shutter for the correct laser depending on the lake
https://sites.google.com/site/msimdocumentation/home/Shutter.JPG
Use the focusing knob on the microscope to focus on the sample
- You should see a pattern of dots spread out across the screen
- At this point, verify that the z-position is set to 0 on the stage controller
https://sites.google.com/site/msimdocumentation/home/z%20piezo.JPG
Once the sample is in focus, exit out of CamWare64 and AlpBasic
- For CamWare64, ensure “Live Preview” is no longer on before exiting
- For AlpBasic, press the “Stop” button and unattach device by going to “Device” and clicking on “Attach” before exiting
Taking the lake images
Open sim_scope.py (master code for taking data) (1) by right clicking the file and selecting “Edit with IDLE”
- Location: RAID(D)\SIM_data\python
In sim_scope.py, set the following parameters (can be found at the bottom of the code) as shown in the image below to take a 488nm lake image with filter 1 and then a 561nm lake image with filter 3 (2)
https://sites.google.com/site/msimdocumentation/home/lake.JPG
- NOTE: z_positions=range(-100, 100, 2) should be commented out (as indicated by ## and red font) - you can do so by highlighting the line and pressing “Alt + 3”
NOTE: If z_positions=[0, 0, 0, 0] is commented out, highlight the line and press “Alt + 4” to comment it in
Save sim_scope.py and then go to “Run” and then select “Run module” (or just click F5) to run the program
This will bring up a window asking you to select the folder in which to save the files (3) as well as the basename (ex: "lake") to use for those files
NOTE: if you are taking images with 2 different filters and/or lasers, then it will ask you for a basename twice (ex: "lake1" and "lake2")
- NOTE: sim_scope.py saves files in the format of basename_laser_filter_z####.raw (laser: c488 or c561; filter: f1, f2, or f3; z#### refers to the image number)
- NOTE: If the laser shutters are unresponsive, you may have to restart the computer. I don't know why, but sometimes our serial port communication is flaky.
Checking for best lake image and saturation
Open ImageJ from the desktop
Open the max projection generated by sim_scope.py
- Go to “File,” then “Import,” and select “Raw”
- Find the folder within which you saved the lake
- Select the file with the following format “stack_of_max_projections_basename_cXXX_fX_zXXXX.raw”
- When the “Import” window appears, set the following parameters
https://sites.google.com/site/msimdocumentation/home/Import%20raw.JPG
Click “OK”
- Scroll through the 4 lakes and choose the one that looks the best
If they have a striping artifact, don’t use them
- Delete any images that do not look good, and move the ones other than the best to a “backup lake” folder so as to not confuse yourself when choosing the lake for processing
NOTE: we want to have multiple lake choices in case the one we use initially gives us bad results
- Press “Cntrl + M” and check that the value under “Max” in the window that appears is less than 65,000
If it is not, then retake the lake image with the laser at a lower power level
https://sites.google.com/site/msimdocumentation/home/max%20value.JPG
Taking data
Finding the sample
Load your sample on the microscope
- A drop of oil (brown bottle) or silicone oil (green bottle) should be placed on the appropriate 60X objective before loading your sample
Open CamWare64
In CamWare64,
- Click on the “Live Preview” button (magnifying glass) to see the current field of view
- Ensure the “Continuous auto-range” is on
- NOTE: Sometimes it helps to view the entire FOV covered by the camera (normally it it cropped to a 480 by 480 pixel screen) (4)
Turn on the microscope light to view the sample in brightfield
- May have to press the “Load” button on pad located next to microscope if there is no light
https://sites.google.com/site/msimdocumentation/home/load%20button.JPG
Use the focusing knob on the microscope to focus on the sample
- At this point, verify that the z-position is set to 0 on the stage controller
Scouting for fluorescence
After focusing in brightfield, turn off the microscope light and open AlpBasic
In AlpBasic,
- Close the untitled window and open “default DMD script” (found in Documents\SIM)
- Go to “Device,” click on “Attach,” and then select “ok” to attach the DMD
- Press the “Pause/single step” button until the green arrow is next to the “sleep” line below the “white” pattern
Verify that the ND is in front of the laser! (or you might fry your sample)
- NOTE: this is the only time the ND should be in front of the laser – if you are using the “illumination_pattern-1” in AlpBasic or Andy’s program, the ND should not be there
Press the “Enable” button on the shutter for either the 488nm or 561nm laser
Check to see if there is fluorescence on CamWare64 (live preview mode)
- NOTE: you may have to move the focusing knob a bit
- NOTE: If you don't see any signal, then turning up the exposure time might help
Once the sample is in focus, exit out of CamWare64 and AlpBasic
Taking a brightfield image
Reshutter the lasers and turn the microscope light back on
In CamWare64,
- Press the “Camera control” control button and then change to “auto sequence” trigger mode (yellow arrow)
- Press “Record” and then press “Stop” to take an image
- Go to “File” and then “Save Raw File” and select “tif”
https://sites.google.com/site/msimdocumentation/home/brightfield.JPG
- Exit out of CamWare64 and AlpBasic
Taking actual data
Open sim_scope.py by right clicking the file and selecting “Edit with IDLE”
In sim_scope.py, set the following parameters (can be found at the bottom of the code) as shown in the image below to take a 488nm z-stack with filter 1 and then a 561nm z-stack with filter 3
- NOTE: z_positions==[0, 0, 0, 0] should be commented out (as indicated by ## and red font) - you can do so by highlighting the line and pressing “Alt + 3”
- NOTE: If z_positions=range(-100, 100, 2) is commented out, highlight the line and press “Alt + 4” to comment it in
- NOTE: z_positions=range(-100, 100, 1) means “start at -10um,” “stop at 10um,” and take 200nm steps” as the units are 100nm
- You will change these numbers depending on your sample
- Typically a step size of 100-200 nm is used
- NOTE: If you are unsure of the exact range you want to image over, taking a preliminary coarse stack is a good idea (5)
- NOTE: You also have the ability to take a time series (6)
https://sites.google.com/site/msimdocumentation/home/sample.JPG
Save sim_scope.py and then press F5 to run the program
This will bring up a window asking you to select the folder in which to save the files as well as the basename to use for those files
- NOTE: If taking dual color images, the window asking where to save the data and what basename to use will pop up twice (the first time corresponds to the first laser/filter being used, and the second to the second laser/filter being used - be sure to give each a different name)
Checking the data
Open ImageJ from the desktop
Open the max projection generated by sim_scope.py
- Go to “File,” then “Import,” and select “Raw”
- Find the folder within which you saved the data
- Select “stack_of_max_projections_basename_cXXX_fX_zXXXX.raw”
- When the “Import” window appears, set the following parameters
- Image Type: 16-bit unsigned
- Width: 480 pixels
- Height: 480 pixels
- Offset to First Image: 0 bytes
- Number of Images: 2147483647 (maximum value)
- Gap Between Images: 0 bytes
- Also, check the “Little-Endian Byte Order” box
- Click “OK”
Scroll through the images to verify the range covers the entire sample and for an initial look before processing
Footnotes
(1) sim_scope.py's parameters
time_delays: for taking a time series
z_positions: indicates the z-position(s) at which an image is being taken
- If you want to take a range, use z_positions=range(starting value, ending value, step size) with units of 100nm
repetition_period_microsecond: 4500 (default)
- If your sample has less signal, you can increase this value to one of the values listed under “available exposures” at the top of the code
- NOTE: illumination_microseconds=100 should always be commented out
pattern: sim or widefield
colors: refers to the illumination color (i.e. which laser are you trying to use) and the emission filter being used
- Ex: ‘488’ , ‘f1’ means 488nm laser and filter 1
(2) Colors and taking a lake
Depending on what you are imaging, you might need to take a different set of lakes.
For example, if your sample is single-color, then you only need to take a lake of that color. You can do this by commenting out the entire section for the other color (from filenames, t_points, z_points = z_t_series( to the ) at the end).
Also, you need to determine which filter to use. 'fl' and 'f2' are more restrictive filters while 'f3' is our most permissive filter. Typically, we used 'f1' for GFP (and similar fluorophores) in order to block out potential bleadthrough from the other color (as sometimes happens when 'f3' is used). Either 'f2' or 'f3' is used with the 561 nm laser, typically with equal success. However, sometimes 'f2' can result in a dimmer signal so we usually use 'f3' for 561.
Specifications of the filters * f1: 525/50 BP * f2: 645/75 BP * f3: 488 LP/561 NF
(3) Instructions for setting up folders
When taking data, we create a new folder located in the SIM_data folder within the RAID(D). The new folder follows the following nomenclature: year_month_date_identifier. The identifier is typically something like the person's name or the sample being imaged.
The lakes are saved within the newly created folder. Then, each data set is saved within its own FOV# folder.
(4) Maximizing the FOV in CamWare64
When trying to find your sample, it can be helpful to maximize the FOV in CamWare64 from the normal 480 by 480 pixel FOV used when taking images. To do so:
- Press the “Camera control” control button
https://sites.google.com/site/msimdocumentation/home/screen%20size%20%28annotated%29.JPG
Select the "Sensor (Size)" tab (yellow arrow)
Click the "Set to max" button (orange arrow)
After you have found the sample using the larger FOV, you will need to return to the 480 by 480 pixel FOV
- NOTE: The default FOV size is 841 to 1320 (vertical), 961 to 1440 (horizontal) – i.e. 480 by 480
(5) Taking a coarse stack
Sometimes it is helpful to take a coarse stack over a wide range (10s of nm) with big steps (500-1000 nm) in order to determine where the sample is in z.
- NOTE: It is only necessary to take a coarse stack using one color, so the code for taking a second color should be commented out (i.e. red with a # on the far lef)
https://sites.google.com/site/msimdocumentation/home/coarse%20stack.JPG
After taking the coarse stack using sim_scope.py, open the maximum projections file in ImageJ. Scroll through the stack to determine at which slice the sample's signal begins and ends. Then, open the index file (basename_index.txt). This file lists the z-position and time at which each slice was taken. Use this to determine the z-position corresponding to the sample's signal, and adjust the z_positions=range(start, stop, step size) parameter according.
- NOTE: Because numbering of the slices by sim_scope.py begins at z0000, slice 1 in ImageJ corresponds to image z0000 and so on.
https://sites.google.com/site/msimdocumentation/home/index.JPG
Once you determine this, then you can then adjust the z_positions parameters to a smaller range covering the entire sample with a smaller step size (100-200 nm)
(6) Taking a time series
If you do not want to take a time series, then use
time_delays=[None]
To create a time series, modify the time_delays as in the following example:
time_delays=[30]*20
- In this example, the number within the brackets indicates the time delay (in seconds) after each round of acquisition - in this case, 30 seconds
- NOTE: This refers to the time between the END of one round and the BEGINNING of the next. To determine the time between the beginning of each round, you need to calculate the time required for acquisition and then add it to the time delay. This information can also be found within the index file (basename_index.txt).
- In this example, the number to the right of the star indicates the number of times the time delay will be taken - in this case, 20 times (which will result in 21 time points)
Data taken as a time series is saved using the following format: basename_laser_filter_t####