confocal slicer - slice through a three dimensional field, with the slice plane at an arbitrary orientation.

Name

     confocal slicer - slice through a three dimensional field, with
	the slice plane at an arbitrary orientation.

Summary

     Name	   confocal slicer

Type

  mapper

Inputs

   field 3D uniform byte (1- to 4-vector)

Outputs

   field 2D irregular byte
	           geometry

Parameters

   
	Name		 	Type	     Default   Min  Max	      Choices
	X,Y,Z Rotate     	float       	0      -360. 360
	X,Y,Z Translate  	float     	0      UNBOUNDED
	X,Y Scale		float		1.0    UNBOUNDED
        U,V Mesh Resolution 	integer   	20     10,500
	Background Value	float		-1.0   UNBOUNDED
	Field Output		integer         0        0   1

Description

     The confocal slicer module extracts a 2d slice from a 3d
     field.  Output consists of a 2d field or a geometry.
     The position, size and resolution of the slice plane are under
     user control via the parameters.
     For all input fields, the module will determine "sane" parameter
     settings for extracting an initial slice.  
     This is basically a hack from the module new_arbitrary slicer
     from IAC (appologies to Wes Bethel).
     The intention is to use it for slicing data collected from a
     confocal microscope. This is uniform byte data with one or 
     more values per point in space.
     The advantages are:
        1.  support for fields of vector length 1 to 4 added.
        2.  support for field sizing added.
              The module looks at the fields->points values
              in the field and scales it accordingly.
              i.e. the output will not be distorted !
              Thus, the input field MUST have:
              field->points[0] = minimum dimension of field in x.
              field->points[1] = maximum dimension of field in x.
              field->points[2] = minimum dimension of field in y.
              field->points[3] = maximum dimension of field in y.
              field->points[4] = minimum dimension of field in z.
              field->points[5] = maximum dimension of field in z.
		
        3.  output can be directly as geometry !!!!
             module output can thus be fed straight into the
             geometry viewer. This not only saves one module,
             but the geometry produced is more compact since
             a number of channels are mapped to one set of
             vertices and colors. (no more messing around with
             mutiple slices, colormaps and transparency).
        4.  support of types irregular and rectilinear removed.
             Scan mirror systems in confocal microscopes are
             locked to some sort of electronics which sample
             in a regular fashion. I cannot therefore see a 
             use for these field types.
     NB. If you want to use the field output to view your slice,
     remember that image viewer will only display square pixels
     (despite having all that lovely points information). To get
     the proportions correct you therefore need to set the x and
     y scale equal, AND the Mesh resolutions equal
INPUTS
     Data Field, 3D, uniform, byte.
PARAMETERS
     X,Y,Z Rotate      |  These just control the position and orientation
     X,Y,Z Translate   |  at which the slice is taken
     X,Y Scale         |
     U,V Mesh Resolution  This is the number of samples taken in the
                          two orthogonal directions on the slice.
     Background Value     Bits of the slice which hang outside the field
                          being sliced will be filled in with this value.
     Field Output         This toggles output beween geometry output (default)
                          and field output.
OUTPUTS
     Data Field, 2D, irregular, 3-coordinate scalar float.
	  The output field is 2D instead of 3D and is an irregular field.

Example

     The following network takes a slice from a	field and displays it:
	        READ FIELD
		     |_____________________
                     |                    |
	      CONFOCAL SLICER      VOLUME BOUNDS
		     |  |                 |
		     |	|                 |
		     |	-------------------
                     |                    |
	       IMAGE VIEWER        GEOMETRY VIEWER

Author

	Nick Salmon,
        Light Microscopy Group
        European Molecular Biology Laboratory
        Meyerhofstrasse 1
        69117 Heidelberg
	Germany
        email: salmon@EMBL-Heidelberg.DE
	This is basically a modification of code from:
	Wes Bethel, Lawrence Berkeley Laboratory
AVS Modules                                             confocal slicer
EMBL Light Microscopy Group                              12 August 1994