S-PLUS 6.0 Library - AnalyzeRead6.0


This page explains how to install the S-PLUS library AnalyzeRead6.0. I assume that you have a basic knowledge of UNIX/LINUX and that you already have S-PLUS 6.0 installed on your machine.

AnalyzeRead6.0 contains functions that allow ANALYZE image format .img and .hdr files to be read into S-PLUS 6.0 automatically

I created this package for two reasons.

(1) These functions provide an interface between S-PLUS and ANALYZE files. Many fMRI datasets are stored in this format and S-PLUS provides a very flexible platform upon which to explore and analyze these datasets. I hope this may be useful to other Statisticians/Researchers.

(2) I wanted to practise how to create a S-PLUS library! To do this i used the book `S Programming' by Venables and Ripley.

If you have any problems/suggestions using this package, please email me on marchini@stats.ox.ac.uk


1. Download the g-zipped tar archive  AnalyzeRead6.0.tar.gz

2. Unzip the file using                    gunzip AnalyzeRead6.0.tar.gz

3. Unpack the archive using       tar -xvf AnalyzeRead6.0.tar

This will create a directory in called AnalyzeRead6.0

4.  Move this directory (with it's contents) to the default S-PLUS 6.0 library tree on your machine IF you have permission.
    If not create your own library directory somewhere i.e.   mkdir ~/lib and move the directory AnalyzeRead6.0 there.

5.  Create the library from within the AnalyzeRead6.0 directory using


6.  You can then start an S-PLUS session from where you like and load the library using

    library(AnalyzeRead6.0,lib.loc="~/lib") - Assuming you put it in ~/lib
    library(AnalyzeRead6.0) - Assuming you put it into the default S-PLUS 6.0 library tree

7. Use the EXAMPLES section to see how the functions work.


The library contains just three functions which call C code to access the files

f.read.analyze.header - reads a .hdr file and returns it as a list
f.read.analyze.volume - reads in a .img file into an array
f.analyze.file.summary - summarises the contents of a .img file

The functions come with help files


You can download a g-zipped .img/.hdr image pair from


The file example.img is a 4D fMRI dataset.
There are 21 axial slices each consisting of a 64x64 grid of 4mmx4mmx6mm voxels.
There is only one time point.

For the purpose of this example I assume you have put them in the same directory in which you started an S-PLUS session and unzipped them.

1.  Load the library AnalyzeRead6.0  (as described above).

2. Get a summary of the data stored in the .img file using

[1]        File name: ./example.img
[1]   Data Dimension: 4-D
[1]      X dimension: 64
[1]      Y dimension: 64
[1]      Z dimension: 21
[1]   Time dimension: 1 time points
[1] Voxel dimensions: 4mmx4mmx6mm
[1]        Data type: signed short (16 bits per voxel)

3. Read in the data from the .img file into an array using


4. Check the dimensions of the array

[1] 64 64 21  1

6. Print out a slice of the dataset using



If you have any problems/suggestions using this package, please email me on marchini@stats.ox.ac.uk