Software > PictureSnapApp

Image acquisition in PictureSnapApp


John Donovan:
We've been looking into adding image acquisition to PictureSnapApp, to allow users to easily add (sub) images to their "base map" images.

Currently one can add images by either clicking a button or dragging and dropping a bunch of image files on the Image Locator image list.  But this requires that each image file also have a corresponding ACQ file for the stage to pixel calibration.

However, to allow the user to acquire an image at the current stage position and FOV and automatically generate a calibration file would be even better, so we started looking into how that might be done. For the FEI DCOM interface it looks very straight forward as FEI has implemented a very well designed API that allows for complete control of the instrument through their DCOM interface.

For the other instrument interfaces, it is not so easy.  The JEOL EIKS interface allows one to acquire an image but the image is only saved on the JEOL computer and there are no functions to obtain the actual image data through the EIKS API.

Recently while thinking a bit more about this, we realized that it would be worthwhile to allow the "text input only" interface to "acquire" an image by allowing the user to browse for the image file and then load that image and then create a calibration based on the current stage position and FOV.  In the "text input only" interface the stage position can be adjusted by double clicking the image and the FOV adjusted using the up/down cursor keys.  Therefore if the user correctly selects the stage position in their base map image and adjusts the FOV in PictureSnapApp for the actual instrument FOV, then the image file can be calibrated to the current stage and instrument FOV.

In a similar fashion for the JEOL (EPMA/SEM) and Cameca (EPMA) instrument interfaces, we could also allow the user to also browse to an image file and calibrating it to the actual stage position and FOV read from the instrument (since they are already read automatically in PictureSnapApp). The key requirement for making this all work would be a shared folder link allowing the user to browse to the image files acquired on the OEM computer. 

What do you all think?

John Donovan:
Ok, so I'm replying to myself I guess.   :)

After thinking about these questions a bit more we decided to implement this "select remote image" idea for all the instrument interfaces.  We may still implement a direct image acquisition for the FEI interface, but since the other instrument interfaces either don't support image acquisition at all, or would be a considerable amount of work, I think is a really good solution.

Again, the idea being that one can acquire an image on the OEM system as one already does, save it as usual to the hard drive. And then *without* changing the stage position or FOV on the instrument, simply browse to the location of the saved image file (perhaps using a shared folder link) and then select that image into PictureSnapApp which then saves the image calibration based on the current FOV, which is always up to date in PictureSnapApp (for the hardware enabled versions at least).  The image and calibration files are then automatically saved to the current PictureSnapApp main image folder, and loaded in the Image Locator image list.

In the Text Input mode the same applies but since in this mode the app doesn't communicate to the hardware, one must double-click the image to set the current position of the sample, and adjust the FOV by using the up/down cursor keys (the blue FOV box is adjusted accordingly and remember to use <shift> up/down to make fine adjustments to the FOV), and then one clicks the Select Remote Image button as seen here:

and then browse to the "remote" image previously acquired using the instrument OEM software.  The software then confirms the stage position and magnification, then when the user clicks Yes, the image is loaded and calibrated based on the current stage position and FOV as seen here:

John Donovan:
We're really enjoying the Image Locator "Select Remote Image and Save to Current FOV" feature.   

This allows one to acquire any image signal/resolution/qaulity image using the OEM instrument software and then simply browse to the image and load it into the currently displayed FOV in PictureSnapApp.

Since PictureSnapApp always knows the instrument stage position and FOV (in the hardware enabled version), it can then simply load the selected image to that position in the "base image" as seen here:

The key is to correctly specify the FOV at 100x and aspect ratio values correctly for the instrument in question (from the File | Stage Configuration menu).  The aspect ratio is usually set by the vendor, so for example, the following values we have found generally work well:

JEOL:          1.0            e.g., 1024 x 1024 or 1 : 1
Cameca:        1.333          e.g., 1024 x 768  or 4 : 3
FEI:           1.158          e.g., 1024 x 884  or ?

I'm not quite sure what FEI's 1024 x 884 pixel ratio is, but that's what our Quanta instrument saves images as.

For the FOV at 100x value, generally start with 1.5 (mm) for JEOL and FEI instrument, and for Cameca we have found 2800 (um) usually suffices.  For best accuracy simply compare the actual instrument FOV (using a slow scan!), with the displayed FOV graphic on the stage calibrated base image in PictureSnapApp and adjust the FOV at 100x value until it looks correct, relative to some features on the sample.   Note that one cannot edit the FOV at 100x value while a base image is loaded, but just close the image, modify the value in the stage configuration and then simply reload the image.  It might take a few iterations but one can get it very close.

Then simply acquire images using your instrument OEM software and browse to them from PictureSnapApp to create a "visual logbook" of your sample!


[0] Message Index

Go to full version