# readBRPic

### Synopsis

> The readBRPic user macro reads a Bio-Rad PIC data file and outputs a uniform scalar field. It performs byte-swapping so that it works correctly on both little and big endian platforms.

> #### Parameters

> The following lists all of the parameters used by the readBRPic user macro.

> Name | Type | Description | UI Control
> filename | string | name of Bio-Rad PIC file to read | Filename text box

> #### Output Ports

> Name | Type | Description
> out_fld | uniform scalar field | read 3D volume
> out_obj | DataObject | directly renderable output object

### Description

> The readBRPic macro reads a Bio-Rad PIC file and outputs a uniform scalar field representing the data. The field data can then be visualized using any of the standard modules. The uniform scalar field has the dimensions specified in the Bio-Rad PIC file and the data is represented as 8 bit node data. The module will only handle 8-bit images. 16-bit and 24-bit images are not handled correctly. Any notes appended to PIC files are also ignored.

> Bio-Rad PIC files contain 3D confocal microscope images, i.e. 3D scalar uniform fields. However 3D confocal microscope images are usually anisotropic i.e. the x-y scale is different from the z scale. In this case the `scale` module can be used to alter the scaling of the resultant field data. For more information please see the NOTE file.

### Parameters

> filename

> The name of the file that should be read from. This parameter is of type string and can be specified through either a text-box or a file browser. The ReadPicData module does not check to ensure that the supplied file is a valid Bio-Rad PIC file. If the file is not valid then errors could occur.

### Output Ports

> out_fld

> The most primitive output field of the readBRPic macro. This contains the generated 3D volume in the form of a uniform scalar field with the dimensions specified in the Bio-Rad PIC file. The data present in the file is stored as node data within the field.

> out_obj

> The directly renderable output field of the readBRPic macro. This contains a DataObject object that can be rendered by the standard data viewers. The DataObject is generated directly from the field data created from the Bio-Rad PIC file.

### Utility Macros

> The User Macro readBRPic uses the low-level module ReadPicData which in turn uses the low-level module ReadPicDims.

### Example

> An example application ReadBRPicEg is provided, which loads Bio-Rad PIC files and visualizes them using the volume renderer. An example data file `flea3.pic` is provided so that the macro can be tested.

### Files

> iac_proj/rd_brpic/rdbrmacs.v contains the readBRPic User Macro, the ReadBRPicUI UI Macro, and the example application ReadBRPicEg V definitions.

### Other Notes

> The ReadBRPicMacs library inherits its process. As this library contains no procedural code, the process is not important.

> The ReadPicDims module assumes that the short variable type is 16 bits long. If this is not the case then the dimensions read may not be correct and the macro will not work. Correcting this problem will require alterations to the `rd_brpic.c` source code file.

### Authors

>     Chris Pudney

>     Biomedical Confocal Microscopy Research Centre
>     Department of Pharmacology
>     The University of Western Australia
>     Nedlands, W.A. 6907
>     AUSTRALIA

>     E-mail: cpudney@alphapharm.pharm.uwa.edu.au
>     Phone, Fax: (+61 8) 9346 4571, (+618) 9346 3469

### Modifications

>     Andrew Dodd
>     Joanna Leng

### Contact

>     International AVS Centre
>     Manchester Visualization Centre
>     Manchester Computing
>     University of Manchester
>     Oxford Road
>     Manchester
>     United Kingdom
>     M13 9PL

### See Also

> ReadPicData, ReadPicDims, ReadBRPicUI and ReadBRPicEg.