BakingTray
  • BakingTray Documentation
  • Getting Started
    • Hardware requirements
    • Known issues
    • Initial Installation
      • Software installation
      • Setting up ScanImage
    • Hardware setup
      • Motor Setup
        • PI stage setup
        • Calibrating a linear actuator
        • Verifying stage motions
      • Setting up a VT1000 vibratome
      • Setting up the laser
    • Finishing the install
      • Check the noise on your amplifiers
      • Starting BakingTray
      • Settings Files
      • Calibration
        • Basic calibrating procedures
        • Calibrating image size
        • Achieving high stitching accuracy
        • Fine-tuning positioning accuracy
        • Stitching tweak walkthrough
    • Stitching data
  • Users
    • Introduction
    • Sample preparation
    • User Guide
      • Starting BakingTray
      • Step 0: Loading the sample
      • Step 1: Setting imaging parameters
      • Step 2: Preparing the sample
      • Step 3: Selecting the imaging area
      • Step 4: Starting the acquisition
      • Step 5: Concluding the acquisition
      • Setting up checklist
      • Resuming an acquisition
      • Manual ROI acquisitions
    • Excitation choices
    • Choosing imaging settings
    • Troubleshooting
      • Hardware problems
      • Computer problems
      • Cutting problems
      • Imaging problems
    • Data structure
    • autoROI
  • Developers
    • Developers
      • Code overview
      • Developer notes
      • Motion control classes
      • The recipe file
      • Auto-ROI
      • Simulated mode
      • Contributing
    • FAQ
    • Gallery
Powered by GitBook
On this page
  • Motion control
  • How do I see the status of the the axes?
  • My PI direct-drive stages are cutting out and/or giving over-current errors
  • Scanning
  • Is BakingTray scanning software?
  • Is a custom version of ScanImage needed?
  • How does BakingTray use ScanImage?
  • Acquisition
  • Can I change the number of sections to acquire on a running acquisition?
  • I notice substantial variability in section acquisition time in the acqLog file
  • Should I blank the scanner flyback?
  • Laser control
  • The laser seems to connect but can't be turned on via the GUI.
  1. Developers

FAQ

PreviousContributingNextGallery

Last updated 1 year ago

Motion control

How do I see the status of the the axes?

Run hBT.getStageStatus to get a report on how each axis is set up and other important information.

My PI direct-drive stages are cutting out and/or giving over-current errors

If necessary, set the D terms of the PID loops to zero then at the MikroMove command line run the phase finding command: FPH 1. The axis has to be enabled (i.e. EAX? 1 returns 1) and the servo mode has to be off (SVO? 1 returns 0). You can query the result of the phase-finding operation with FPH?. This should return a positive value. -1 indicates that the phase finding operation failed. If it worked, the new value can be saved to non-volatile memory via the command WPA 100

Once this is done, enable the servo and see if performance improves. If not you could try setting a small positive D term to the position PID loop (e.g. 0.005) but be cautious of going too far as this may increase position noise.

If you have simply knocked the stages and caused the servo to cut out, you can test for this by running the BakingTray command hBT.getStageStatus. If, say, the X axis is listed as disabled you can try enabling it with hBT.xAxis.resetAxis.

Scanning

Is BakingTray scanning software?

No it's not. BakingTray uses external scanning or image acquisition software to obtain images. Currently only is supported. BakingTray interacts with ScanImage indirectly via the .

Is a custom version of ScanImage needed?

BakingTray interacts with ScanImage via the and requires no modification (see ).

How does BakingTray use ScanImage?

  1. Set the parameters for a fast z-stack

  2. Set the number of reps of this stack

  3. Set up the imaging parameters such as image size, number of microns per optical degree, etc.

Acquisition

Can I change the number of sections to acquire on a running acquisition?

I notice substantial variability in section acquisition time in the acqLog file

Of course different sections will have different numbers of tiles should you be using the default auto-ROI feature. However, in addition to this, there are small time differences between sections even with the same number of tiles. If these differences are large, you might want to confirm that the PID loop of your stages is behaving as expected and there are not issues in settling time of the stages.

Should I blank the scanner flyback?

If you blank the scanner flyback with amplifiers you can get rid of amplifier ringing which would otherwise create slightly annoying bright/dim alternating lines in the raw data. However, with a resonant scanner this also causes the non-imaged parts of the tile to be bleached and can create stitching artifacts later. Further, the ringing should be canceled out with the average image correction.

Laser control

The laser seems to connect but can't be turned on via the GUI.

As a workaround, try issuing hBT.laser.turnOn at the command line. This may turn on the laser then allow it to be controlled via the GUI. You could also try closing and re-opening the GUI. File an issue if you see behavior such as this.

BakingTray coordinates a tile scan over a sample by triggering ScanImage to acquire a small z stack at each tile X/Y position. The X and Y stages are moved by BakingTray and are not connected to ScanImage. The Z stack is performed using a controlled by ScanImage. BakingTray interacts with ScanImage to do the following:

The tile scan itself is performed using a in the that runs after z stack finishes at a single X/Y position.

To change the number of sections to acquire once the acquisition has started you currently need to stop the acquisition then .

ScanImage
SIBT class
ScanImage API
also here
PIFOC
callback function
SIBT class
restart it