-Kevin M. Rosenberg, M.D.
-kevin@rosenberg.net
\ No newline at end of file
+PRIMARY AUTHOR
+Kevin M. Rosenberg, M.D. <kevin@rosenberg.net>
+
+CONTRIBUTORS
+Ian Kay <iankay@cancerboard.ab.ca>
+ - Additions and updates to man pages
+ - Bug identification and patches for ASCII phantom parsing
-man_MANS=ctrec.1 phm2rs.1 phm2if.1 if2img.1 ifinfo.1 if-1.1
+man_MANS=pjrec.1 phm2pj.1 phm2if.1 if2img.1 ifinfo.1 if-1.1 if-2.1 pjinfo.1 ifinfo.1 pj2if.1
EXTRA_DIST = $(man_MANS)
+++ /dev/null
-.\" -*- nroff -*-
-.\"
-.\" ctrec.1
-.\"
-.\" Author: Kevin Rosenberg <kevin@rosenberg.net>
-.\"
-.\" $Id: ctrec.1,v 1.3 2000/06/09 01:35:33 kevin Exp $
-.\" $Log: ctrec.1,v $
-.\" Revision 1.3 2000/06/09 01:35:33 kevin
-.\" Convert MPI structure to C++ class
-.\"
-.\" Revision 1.2 2000/05/03 08:43:46 kevin
-.\" *** empty log message ***
-.\"
-.\"
-.Dd April 19, 2000
-.Dt CTREC 1
-.Os
-.Sh NAME
-.Nm ctrec
-.Nd Image Reconstruction (reconstruct computed tomography data)
-.Sh SYNOPSIS
-.Nm ctrec raysum-file image-file nx-image ny-image [OPTIONS]
-.Sh DESCRIPTION
-.Nm
-reconstucts image data from raysum projections collected by CT scanner. It uses
-.Xr phm2rs 1
-for projection data generation.
-.Pp
-.Nm
-is configured to use a variety of reconstruction filters.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl Fl interp Ar interp-method
-Select interpolation mode (default is linear)
-.It Fl Fl filter Ar filter-name
-Select filter for reconstruction
-.It Fl Fl filter-param Ar x
-Set alpha level for Hamming filter
-.It Fl Fl backproj Ar bj-method
-Select backprojection method (default is diff2)
-.It Fl Fl desc Ar description
-Save description in image file
-.It Fl Fl trace Ar level
-Set trace level (default is none)
-.It Fl Fl verbose
-Turn on verbose mode
-.It Fl Fl debug
-Turn on debug mode
-.It Fl Fl version
-Print version
-.It Fl Fl help
-Print terse help summary
-.Sh AUTHORS
-Kevin Rosenberg, M.D. <kevin@rosenberg.net>
-.Sh HISTORY
-.Nm
-was first written in 1983 using MS-DOS and an EGA display adapter. In 1999 it was ported to GNU/Linux.
-.Sh SEE ALSO
-.Xr phm2if 1 ,
-.Xr phm2rs 1 ,
-.Xr rs2if 1 ,
-.Xr if2img 1 ,
-.Xr ifinfo 1
\ No newline at end of file
-.\" -*- nroff -*-
+.\" -*- NROFF -*-
.\"
.\" if-1.1
.\"
.\" Author: Kevin Rosenberg <kevin@rosenberg.net>
.\"
-.\" $Id: if-1.1,v 1.1 2000/06/09 01:35:33 kevin Exp $
+.\" $Id: if-1.1,v 1.2 2000/11/08 23:56:24 kevin Exp $
.\" $Log: if-1.1,v $
+.\" Revision 1.2 2000/11/08 23:56:24 kevin
+.\" *** empty log message ***
+.\"
.\" Revision 1.1 2000/06/09 01:35:33 kevin
.\" Convert MPI structure to C++ class
.\"
.\" *** empty log message ***
.\"
.\"
-.Dd April 19, 2000
-.Dt IF-1 1
-.Os
-.Sh NAME
-.Nm if-1
-.Nd Single IF (Image File) Transformation
-.Sh SYNOPSIS
-.Nm if-1 iffile outfile [OPTIONS]
-.Sh DESCRIPTION
-.Pp
-.Nm
-Transforms a single IF file.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl Fl invert
-Inverts (negates) the image
-.It Fl Fl log
-Natural logrithm of image
-.It Fl Fl exp
-Natural exponential of image
-.It Fl Fl debug
-Set debug mode
-.It Fl Fl verbose
-Set verbose mode
-.It Fl Fl version
-Print version
-.It Fl Fl help
-Print terse help summary
-.Sh AUTHORS
+.TH if-1 1
+
+.SH NAME
+if-1 - Single IF (Image File) Transformation
+
+.SH SYNOPSIS
+.B if-1 iffile outfile [OPTIONS]
+
+.SH DESCRIPTION
+\fIif-1\fP transforms a single IF file.
+
+.SH OPTIONS
+\fIif-1\fP accepts the following options:
+.TP 16
+.B \-\-invert
+Inverts (negates) the image.
+.TP 16
+.B \-\-log
+Natural logrithm of image.
+.TP 16
+.B \-\-exp
+Natural exponential of image.
+.TP 16
+.B \-\-debug
+Set debug mode.
+.TP 16
+.B \-\-verbose
+Set verbose mode.
+.TP 16
+.B \-\-version
+Print version.
+.TP 16
+.B \-\-help
+Print terse help summary.
+
+.SH AUTHORS
Kevin Rosenberg, M.D. <kevin@rosenberg.net>
-.Sh HISTORY
-.Nm
+
+.SH HISTORY
+if-1
was first written in 1983 using MS-DOS and an EGA display adapter. In 1999 it was ported to GNU/Linux.
-.Sh SEE ALSO
-.Xr ctrec 1 ,
-.Xr phm2rs 1 ,
-.Xr phm2if 1 ,
-.Xr rs2if 1 ,
-.Xr ifinfo 1
\ No newline at end of file
+.SH SEE ALSO
+
+.BR ctrec(1), phm2rs(1), phm2if(1), rs2if(1), ifinfo(1)
--- /dev/null
+.\" -*- NROFF -*-
+.TH if-2 1
+
+.SH NAME
+if-2 - binary operations between two image (IF) files.
+
+.SH SYNOPSIS
+.B if-2 infile1 infile2 outfile [OPTIONS]
+
+.SH DESCRIPTION
+\fIif-2\fP
+performs binary functions on two input IF image files.
+
+.SH OPTIONS
+\fIif-2\fP
+accepts the following options:
+.TP 16
+.B \-\-add
+Add infile1 and infile2.
+
+.TP 16
+.B \-\-sub
+Subtract infile2 from infile1.
+
+.TP 16
+.B \-\-mul
+Multiply images.
+
+.TP 16
+.B \-\-comp
+Compare images.
+
+.TP 16
+.B \-\-column-plot \fIn\fP
+Plot column.
+
+.TP 16
+.B \-\-row-plot \fIn\fP
+Plot row.
+
+.TP 16
+.B \-\-verbose
+Verbose mode.
+
+.TP 16
+.B \-\-version
+Print version.
+
+.TP 16
+.B \-\-help
+Print terse help summary
+
+.SH AUTHORS
+Kevin Rosenberg, M.D. <kevin@rosenberg.net>
+
+.SH HISTORY
+\fIif-2\fP
+was first written in 1983 using MS-DOS and an EGA display adapter. In 1999 it was ported to GNU/Linux.
+
+.SH SEE ALSO
+.BR ctrec (1), phm2rs (1), phm2if (1), rs2if (1), ifinfo (1), if-1 (1)
--- /dev/null
+.\" -*- NROFF -*-
+.TH phm2pj 1
+
+.SH NAME
+phm2pj - calculate projections through a phantom object.
+
+.SH SYNOPSIS
+.B phm2pj outfile ndet nview [--phantom phantom-name] [--phmfile filename] [OPTIONS]
+.SH DESCRIPTION
+\fIphm2pj\fP calculates projections through a phantom object, either a
+predefined --phantom or a --phmfile.
+
+.SH OPTIONS
+.TP 16
+.B \-\-outfile
+Name of output file for projections
+
+.TP 16
+.B \-\-ndet
+Number of detectors
+
+.TP 16
+.B \-\-nview
+Number of rotated views
+
+.TP 16
+.B \-\-phantom
+Predefined phantom to use for projection: can be one of
+.RS
+.TP 16
+.B herman
+Herman head phantom
+.TP 16
+.B herman-b
+Herman head phantom (Bordered)
+.TP 16
+.B shepp-logan
+Shepp-Logan head phantom
+.TP 16
+.B shepp-logan-b
+Shepp-Logan head phantom (Bordered)
+.TP 16
+.B unitpulse
+Unit pulse phantom
+.RE
+.TP 16
+.B \-\-phmfile \fIname\fP
+Get Phantom from phantom file
+.TP 16
+.B \-\-desc
+Description of raysum
+.TP 16
+.B \-\-nray
+Number of rays per detector (default = 1)
+.TP 16
+.B \-\-rotangle
+Degrees to rotate view through (multiple of PI) (default = 1)
+.TP 16
+.B \-\-focal-length
+Focal length ratio (ratio to radius of phantom) (default = 1)
+.TP 16
+.B \-\-field-of-view
+Field of view (ratio to diameter of phantom square) (default = 1)
+.TP 16
+.B \-\-trace
+Trace level to use, one of:
+.RS
+.TP
+.B none
+No tracing (default)
+.TP 16
+.B console
+Trace text level
+.TP 16
+.B phantom
+Trace phantom image
+.TP 16
+.B proj
+Trace projections
+.TP 16
+.B plot
+Trace plot
+.TP 16
+.B clipping
+Trace clipping
+.RE
+.TP 16
+.B \-\-verbose
+Verbose mode
+.TP 16
+.B \-\-debug
+Debug mode
+.TP 16
+.B \-\-version
+Print version
+.TP 16
+.B \-\-help
+Print a terse help message
+++ /dev/null
-.\" -*- nroff -*-
-.\"
-.\" phm2rs.1
-.\"
-.\" Author: Kevin Rosenberg <kevin@rosenberg.net>
-.\"
-.\" $Id: phm2rs.1,v 1.3 2000/06/09 01:35:33 kevin Exp $
-.\" $Log: phm2rs.1,v $
-.\" Revision 1.3 2000/06/09 01:35:33 kevin
-.\" Convert MPI structure to C++ class
-.\"
-.\" Revision 1.2 2000/05/03 08:43:46 kevin
-.\" *** empty log message ***
-.\"
-.\"
-.Dd April 19, 2000
-.Dt PHM2RS 1
-.Os
-.Sh NAME
-.Nm phm2rs
-.Nd Raysum generation (Simulation of CT data collection)
-.Sh SYNOPSIS
-.Nm phm2rs outfile ndet nview [--phantom phantom-name] [--picfile filename] [OPTIONS]
-.Sh DESCRIPTION
-.Nm
-generates raysum from phantom objects.
-.Nm
-simulates the collection of CT data.
-.Pp
-The options are as follows:
-.Bl -tag -width Ds
-.It Fl Fl phantom Ar predefined-phantom-name
-Selects a predefined phantom name
-.It Fl Fl picfile Ar picfile
-Reads a picture file that defines a phantom
-.It Fl Fl rotangle Ar angle
-Angle to rotate projections, multiple of PI (default is 1)
-.It Fl Fl inmemory
-Use RAM for temporary storage
-.It Fl Fl desc Ar description
-Save description in image file
-.It Fl Fl trace Ar level
-Set trace level (default is none)
-.It Fl Fl verbose
-Turn on verbose mode
-.It Fl Fl debug
-Turn on debug mode
-.It Fl Fl vephm2rsion
-Print vephm2rsion
-.It Fl Fl help
-Print tephm2rse help summary
-.Sh AUTHOPHM2RS
-Kevin Rosenberg, M.D. <kevin@rosenberg.net>
-.Sh HISTORY
-.Nm
-was fiphm2rst written in 1983 using MS-DOS and an EGA display adapter. In 1999 it was ported to GNU/Linux.
-.Sh SEE ALSO
-.Xr ctrec 1 ,
-.Xr phm2if 1 ,
-.Xr rs2img 1 ,
-.Xr if2img 1 ,
-.Xr ifinfo 1
\ No newline at end of file
--- /dev/null
+.\" -*- NROFF -*-
+.TH pjinfo 1
+
+.SH NAME
+pjinfo - projection file information
+
+.SH SYNOPSIS
+.B pjinfo proj-file [OPTIONS]
+
+.SH DESCRIPTION
+Displays information about a projection file.
+
+.SH OPTIONS
+.TP
+.B \-\-dump
+Dump all scan data
+.TP
+.B \-\-version
+Print version
+.TP
+.B \-\-help
+Print a terse help message
--- /dev/null
+.\" -*- NROFF -*-
+.TH pjrec 1
+
+.SH NAME
+pjrec - reconstruction from raysum projections
+
+.SH SYNOPSIS
+.B pjrec projection-file image-file nx-image ny-image [OPTIONS]
+
+.SH DESCRIPTION
+\fIpjrec\fP takes projection data from \fIraysum-file\P and produces an
+(IF) image file \fIimage-file\fP, of size \fInx-image\fP by
+\fIny-image\fP pixels, containing the reconstructed image.
+
+.SH OPTIONS
+\fIpjrec\fP accepts the following options, which control the
+reconstruction algorithm:
+.TP 12
+.B \-\-interp
+Interpolation method during backprojection
+.RS
+.TP
+.B nearest
+Nearest neighbor interpolation
+.TP
+.B linear
+Linear interpolation
+.RE
+.TP 12
+.B \-\-preinterpolate
+Preinterpolation factor (default = 1). Used only with frequency-based
+filtering
+.TP 12
+.B \-\-filter
+Filter name
+.RS
+.TP 15
+.B abs_bandlimit
+Abs * Bandlimiting (default)
+.TP 15
+.B abs_sinc
+Abs * Sinc
+.TP 15
+.B abs_cosine
+Abs * Cosine
+.TP 15
+.B abs_hamming
+Abs * Hamming
+.TP 15
+.B shepp
+Shepp-Logan
+.TP 15
+.B bandlimit
+Bandlimiting
+.TP 15
+.B sinc
+Sinc
+.TP 15
+.B cosine
+Cosine
+.TP 15
+.B triangle
+Triangle
+.TP 15
+.B hamming
+Hamming
+.RE
+.TP 12
+.B \-\-filter-method
+Filter method before backprojections
+.RS
+.TP 15
+.B convolution
+Spatial filtering (default)
+.TP 15
+.B fourier
+Frequency filtering with discete fourier
+.TP 15
+.B fourier_table
+Frequency filtering with table lookup fourier
+.TP 15
+.B fft
+Fast Fourier Transform
+.RE
+.TP 12
+.B \-\-zeropad n
+Set zeropad level (default = 0). set n to number of powers to two to pad
+.TP 12
+.B \-\-filter-generation
+Filter Generation mode
+.RS
+.TP 12
+.B direct
+Use direct filter in spatial or frequency domain (default)
+.TP 12
+.B inverse_fourier
+Use inverse fourier transform of inverse filter
+.RE
+.TP 12
+.B \-\-backproj
+Backprojection Method
+.RS
+.TP
+.B trig
+Trigometric functions at every point
+.TP
+.B table
+Trigometric functions with precalculated table
+.TP
+.B diff
+Difference method
+.TP
+.B diff2
+Optimized difference method (default)
+.TP
+.B idiff2
+Optimized difference method with integer math
+.TP
+.B idiff3
+Highly-optimized difference method with integer math
+.RE
+.TP 12
+.B \-\-filter-param
+Alpha level for Hamming filter
+.TP 12
+.B \-\-trace
+Set tracing to level:
+.RS
+.TP 12
+.B none
+No tracing (default)
+.TP 12
+.B console
+Text level tracing
+.TP 12
+.B phantom
+Trace phantom
+.TP 12
+.B proj
+Trace allrays
+.TP 12
+.B plot
+Trace plotting
+.TP 12
+.B clipping
+Trace clipping
+.RE
+.TP 12
+.B \-\-verbose Turn on verbose mode
+.TP 12
+.B \-\-debug Turn on debug mode
+.TP 12
+.B \-\-version Print version
+.TP 12
+.B \-\-help Print a terse help message