Allow creation of scancam instance without camera
Re-include z-axis
Enable flash when taking video
Script to home stages and send to stowage locations

Starts up, creates scancam instance using the same config file in /etc as
the scancam script. Camera is excluded. Homes all the stages and move to a
preset list of stage locations.

Used on SC-A001-1 hardware config
Rename scan building script to be id'ed w/ hw

Micro-5 hardware configuration has one xytheta scancam imaging two vira modules
in a CGBA freezer box.
Rename scripts with dashes instead of underscores
Build scan areas positively from origin

The scan target areas were previously incremented positively in the Y direct
and negatively in the X direction.

The change redefines the target area origins as being the corner of the area
with the minimum X and Y coord values. It also defines each camera position
to increment positively in both X and Y as it scans over the target area.
Add missed increment upward aspect

Missed during last commit
Enable use of z-axis
Update values to reflect counting up scan building

Now matches updates to scancam.py
Add 4 per well scan

This scan has two X and two Y positions. It only covers a third of the well
area, but each area is spaced apart but somewhat centrally. It is intended
to be used to check the min and max depths particularly for an over-filled
well whose membranes may be bulged.
Use microplate-like ids for wells in 6-well plate

Standard microplates have an enumeration system that uses a matrix scheme
for identifying the different wells. The long axis of the plate counts in
numbers, the short axis increments in letters. The top-left corner is therefore
'A1'. We use the same system for identifying the wells in a six well plate.

It is a step trickier to assign when creating the 6-well scan. Different
configurations of the scancam and orientations of the biocell could create
eight different combinations of 90 degree rotations and right or left handedness
of the scancam coordinate system. Diagonal rotations are not supported.

For the purposes of micro-5, there are only two orientations that will be used.
Both have the long axis of the plate in the Y direction. One is rotated 180
degrees from the other.

The update is that the choice between the two orientations is passed in when
creating the scan. The Module1 orientation is '1' and Module2 is '2'.

Now each point generated in the scan has a 'area-id' key with the appropriate
id value.
Eliminate just-corners 6 well plate scan class

Not sure what I was smoking that day. It doesn't warrant its own class. I put
the functionality in the normal 6 well plate scan by adding the just_corners
flag at construction.
Fix the reversed '1' and '2' area id mappings
Propagate t and z values through to points

Propagate any other values that are not handled explicitly in the scan
constructori through to each scan point. Examples are 't', 'z0', 'z1'.
add scan building flag to always start with z0

A scan that has both z0 and z1 values performs a z-axis move while the video
clip is being recorded. When building scans, the points typically alternate
which value it starts the clip with and which it finishes with.

In some cases, like depth calibrations, we would prefer to always start and
finish in the same positions. This way, we can correlate the elapsed time
in the video clip with the position of the z-axis (depth). For instance, if
we start at 0.0mm and move to 7.0mm in 7 seconds then there is a one-to-one
relation between the elapsed time in seconds and the position in mm.

It is a flag passed in at scan construction and passed through to the scan
building function.
Create goto_stow_position() function for xthetaz

And use it in the scancam-prepare-to-stow script.
Home before each scan

Prophylactically re-home before each scan to avoid positional drift
Goto stowage position between scan sets

If we aren't busy scanning, we should go back to the stowage position so that
we're always ready to be removed when needed.