read_PIC_core
Synopsis
Reads a Bio-Rad PIC file and outputs the dimensions and data array.
module Read_PIC_core<data_import_module=1> {
file+IPort2 &FILE;
int bytes[6] => cache(file_obj_bin(.FILE,0,0));
int+OPort2 dims[3] => {
(bytes[0] + bytes[1]*256),
(bytes[2] + bytes[3]*256),
(bytes[4] + bytes[5]*256)
};
byte+OPort2 data[prod(dims)] => cache(file_obj_bin(.FILE,76,0));
};
Description
This module reads a Bio-Rad PIC file and outputs its dimensions and field data.
Bio-Rad PIC files contain 3D confocal microscope images, i.e. 3D scalar
uniform fields. read_PIC outputs the dimensions of the field as an array of
integers and the values of the field as an array of bytes. The outputs can be
combined using uniform_scalar_field to produce a 3D uniform scalar field
that can be visualized. This is done in the Read_Biorad_PIC functional macro.
This module performs the byte reordering necessary for it to work correctly on
either big or little endian platforms.
Inputs
FILE
The file object corresponding to the Bio-Rad PIC file that should be read.
Outputs
dims
An array of three integers corresponding to the x-, y-
and z-dimensions of the field.
data
An array of bytes corresponding to the field values.
Utility Macros
read_PIC_core is used in the Functional Macro, Read_BioRad_PIC. This macro
is in turn used by the User Macro, read_Biorad_PIC.
Example
An example application Read_BioRad_PIC_Eg is provided that reads a Bio-Rad
PIC file and produces a maximum intensity projection. A sample Bio-Rad
PIC file, flea3.pic, is provided with the distribution of this module.
Files
iac_proj/picio/pio_mods.v contains the read_PIC_core module V
definition.
Other Notes
This module does not check that the file specified by the user is a
valid Bio-Rad PIC file. If it is not then errors can occur.
Notes, which are sometimes appended to PIC files, are ignored.
This module will only handle 8-bit images. 16-bit and 24-bit images are
not handled correctly.
The AVS5 module read_BioRad_PIC (available from the IAC) can also be
used to read Bio-Rad PIC files.
This module does not contain any C or Fortran code and hence does not need to
be compiled.
Author
<A HREF="http://www.cs.uwa.edu.au/~chrisp">Chris Pudney</A>
Biomedical Confocal Microscopy Research Centre
<A HREF="http://www.pharm.uwa.edu.au">Department of Pharmacology</A>
<A HREF="http://www.uwa.edu.au">The University of Western Australia</A>
Nedlands, W.A. 6907
AUSTRALIA
E-mail:<A HREF="mailto:cpudney@alphapharm.pharm.uwa.edu.au">cpudney@alphapharm.pharm.uwa.edu.au</A>
Phone, Fax: (+61 8) 9346 4571, (+618) 9346 3469
Modifications
Rob Fletcher, Andrew Dodd
Contact
International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL
See Also
read_BioRad_PIC, read_BioRad_PIC (AVS5 IAC module)
|