MicroControl:Developer
Developer documentation
Interface and API are each defined currently for multiple functionalities. This chapter provides discussion with users and developers in mind for scope and implementation of each feature.
Acquisition settings are grouped into different use cases.
- What to scan
- How to scan
- Where to scan
- When to scan
Each part of documentation includes the description of the format of data model which is maintained aat the remote-client. XML tags and the description of the information they contain.
communication
Basic communication between client and server is achieved by message passing over TCP. Each message is a five byte header followed by the message itself.
The header has two fields -
- A single byte character which describes type of incoming chunk
- 'f' stands for a file (mostly image file)
- 'x' stands for an incoming XML (typically a compilation of scalar and vector values)
- An unsigned long integer (4 bytes) describing the size of the incoming data
That means the image size is currently limited by the highest number that can be stored in unsigned long integer.
blocking and queuing =
If a new request is initiated while the TCP client is already waiting for the results from a previous request, blocking may occur. This typically results from request of image scan which may take long time. Also when the live view functionality is turned on, the client is always waiting for new images.
Blocking is handled by a queuing mechanism as follows. If GUI is making another request while the client is already in waiting mode, satXML sets up a queue and adds current request to it. The status is checked for every request made to satXML.
There is still a limitation that get and set requests are not mixed currently. That can be solved by using a separate queue for get and set requests.
Development of important features
What to scan
Stage configuration
Purpose of this feature is to provide means for the user to interactively define 2d scan geometry.
User is expected to load the specimen / slide in the microscope and then either using remote client or directly the eye piece get the area(s) of interest in the view and click certain buttons so that client will remember those settings.
A Clickable window must be presented to show the geometry already defined. see what focus points are defined. A low resolution tiled scan is also useful for the researcher to setup points of interest.
The stage data model maintains
- Scan extents. Either defined with center a and the width and height of the image around the center, or by selecting the corners.
- Focus
- Confocal stack settings
Additionally
if using Sectioning
- x-y list of points of interest. At each selected location, it is possible to define
- Focus
- Section settings
Without Sectioning
- x-y list of points of interest. At each selected location, it is possible to define
- Focus
- Stack settings
In future the region of interest will include geometric features.
Stack configuration
How to scan
Get and set various scan parameters
Overview Scan
Select the configuration for the fastest scan, by choosing highest speed, lowest zoom and least overlap and lowest resolution. User then selects the overview area
Either by manually positioning the slide and then marking the center Or by marking top-left and botton-right positions
and the corresponding focii