Minor changes

git-svn-id: https://subversion.xor.aps.anl.gov/synApps/areaDetector/trunk@7671 dc6c5ff5-0b8b-c028-a01f-ffb33f00fc8b
This commit is contained in:
rivers
2008-09-23 13:33:55 +00:00
parent 86043efb6e
commit 891b4e48ab
3 changed files with 106 additions and 68 deletions
+35 -19
View File
@@ -20,6 +20,7 @@
<li><a href="#Configuration">Configuration</a></li>
<li><a href="#Screens">Screen shots</a></li>
<li><a href="#IDLClient">IDL image display client</a></li>
<li><a href="#Future">Future plans</a></li>
</ul>
<h2 id="Overview">
Overview
@@ -33,10 +34,10 @@
data from a callback into the 1-dimensional arrays supported by the standard asyn
array interfaces, i.e. asyn[Int8, Int16, Int32, Float32, Float64]Array. These interfaces
are supported by the EPICS waveform record using standard asyn device support. Because
this plugin inherits from NDPluginDriver it also provides additional information
on the array data (e.g. number of dimensions and dimension data described above)
that are made available as EPICS PVs so that clients can correctly interpret the
array data. The NDPluginStdArrays public interface is defined in NDPluginStdArrays.h
this plugin inherits from <a href="pluginDoc.html#NDPluginDriver">NDPluginDriver</a>
it also provides additional information on the array data (e.g. number of dimensions
and dimension data) that are made available as EPICS PVs so that clients can correctly
interpret the array data. The NDPluginStdArrays public interface is defined in NDPluginStdArrays.h
as follows:</p>
<pre>
class NDPluginStdArrays : public NDPluginDriver {
@@ -64,13 +65,14 @@ public:
</pre>
<p>
NDPluginStdArrays defines the following parameters. It also implements all of the
standard plugin parameters from NDPlugDriver listed above. The EPICS database NDStdArrays.template
provides access to these parameters, listed in the following table.
standard plugin parameters from <a href="pluginDoc.html#NDPluginDriver">NDPluginDriver</a>
. The EPICS database NDStdArrays.template provides access to these parameters, listed
in the following table.
</p>
<table border="1" cellpadding="2" cellspacing="2" style="text-align: left">
<tbody>
<tr>
<td align="CENTER" colspan="7,">
<td align="center" colspan="7,">
<b>Parameter Definitions in NDPluginStdArrays.h and EPICS Record Definitions in NDStdArrays.template</b></td>
</tr>
<tr>
@@ -195,18 +197,25 @@ public:
<h2 id="IDLClient">
IDL Image Display Client</h2>
<p>
There is an IDL program called <code>epics_ad_display</code> that can be used to
display 2-dimensional ArrayData that the NDStdArrays plugin sends to EPICS. This
IDL client is available as source code (which requires an IDL license), and also
as a pre-built IDL .sav file that can be run for free under the IDL Virtual Machine.
This IDL program can run on any machine that IDL runs on, and that has the ezcaIDL
shareable library built for it. This includes Windows, Linux, Solaris, and Mac.
<code>epics_ad_display</code> is included in the <a href="http://cars.uchicago.edu/software/IDL/imaging.html">
CARS IDL imaging software.</a>
There is an IDL procedure called <a href="http://cars.uchicago.edu/software/idl/imaging_routines.html#epics_ad_display">
epics_ad_display</a> that can be used to display 2-dimensional array data that
the NDStdArrays plugin sends to EPICS. This IDL client is available as source code
(which requires an IDL license), and also as a pre-built IDL .sav file that can
be run for free under the IDL Virtual Machine. This IDL program can run on any machine
that IDL runs on, and that has the ezcaIDL shareable library built for it. This
includes Windows, Linux, Solaris, and Mac. <code>epics_ad_display</code> is included
in the <a href="http://cars.uchicago.edu/software/IDL/imaging.html">CARS IDL imaging
software.</a>
</p>
<p>
The control window for <code>epics_ad_display</code> is shown below. It has fields
to input the base name of the EPICS PVs with the image data. The client uses the
The control window for <code>epics_ad_display</code> is shown below. It has a field
to input the base name of the EPICS PVs with the image data. It also has fields
to enable/display the IDL display update, to change the display mode, to autoscale
the intensity, and to invert the image in the Y direction. If autoscale is set to
No then manual scaling can be entered in the Min and Max fields. The number of frames
per second actually being displayed by IDL is shown. There is a status window that
shows whether the EPICS PVs are connected and the time the last was array received,
updated once per second.
</p>
<div style="text-align: center">
<h3>
@@ -216,7 +225,7 @@ public:
</div>
<p>
<code>epics_ad_display</code> can use the simple IDL routine <code>tv</code> to
display the images. This is the fasted mode, and results in a non-scaleable unadorned
display the images. This is the fastest mode, and results in a non-scalable unadorned
window.</p>
<div style="text-align: center">
<h3>
@@ -228,7 +237,7 @@ public:
<code>epics_ad_display</code> can also use the routine <a href="http://cars.uchicago.edu/software/IDL/imaging_routines.html#IMAGE_DISPLAY">
image_display.pro</a> to display the images. This routine displays row and column
profiles as the cursor is moved. It allows changing the color lookup tables, and
zooming in and out with the left and right mouse buttons. The following is an example
zooming in (right mouse click) and out (left mouse click). The following is an example
of <code>image_display</code> displaying an image from the simulation detector.</p>
<div style="text-align: center">
<h3>
@@ -236,5 +245,12 @@ public:
<p>
<img alt="simDetector_image_display.png" src="simDetector_image_display.png" /></p>
</div>
<h2 id="Future">
Future plans</h2>
<p>
Stephen Mudie at the Australian Synchrotron has written a very nice IDL client to
display the EPICS images from the Flea Firewire cameras. This client should be converted
to display the data from this areaDetector plugin.
</p>
</body>
</html>