X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=README;h=9146dbcc7324d5dfde810a0200a6f59a3f32da90;hp=a149b8722692f33420215b50703537137f0167d3;hb=79b656146b04b1d57d1ac27f9f2e5474e17c4936;hpb=35bc3e7cef4318d9a43344b651f751ee128202d2 diff --git a/README b/README index a149b87..9146dbc 100644 --- a/README +++ b/README @@ -1,148 +1,122 @@ -COPYRIGHT ---------- -This program is written by Kevin M. Rosenberg, M.D. +OVERVIEW +======== + +CTSim simulates the process of collecting tomographic X-ray data of +phantom objects. These X-ray data through the objects are called +projections. CTSim reconstructs the original phantom image from the +projections using a variety of algorithms. + +CTSim is open-source and is covered by the GNU Public License (GPL). + +Please enjoy CTSim. I'd like to hear any feedback + +Kevin M. Rosenberg, M.D. +kevin@rosenberg.net -It is covered by the GNU General Public License (GPL) which -allows copying and modifying this code with restrictions. See the -file COPYING for complete details. HISTORY ------- +======= CTSim development began in 1983 while I was in medical school. It was -written using Lattice C and MS-DOS. I used assembly language to write +written using Lattice C and MS-DOS. I used 8086 assembly language to +code convolution and backprojection routes and also to write graphics directly to an IBM EGA video adapter. In 1999, I ported CTsim to GNU/Linux. In April 2000, the source code for CTSim was published on the Internet. -STATUS ------- +In June 2000, entire code for revised and converted to C++. -The official home for CTsim is http://www.ctsim.org. From this site, -you can download the CTsim source code and use CTSim online using a -beowulf cluster. -I would be very pleased to have other developers join me in the -development of CTSim. Please see the TODO list for the most obvious -ideas. +WHERE +===== -In this release, the main issue that needs addressing is the inclusion -of old graphic library code. This code is not being used by -CTSim. Compilation warnings will occur in these files. Please ignore -these warnings. In the next major release of CTSim, there will be -support for interactive graphics. I just need to write the low-level -drivers to support X-window rather than IBM EGA hardware. +The official home for CTsim is http://www.ctsim.org. -OVERVIEW --------- -CTSim simulates the collection of x-rays by a CT scanner. These x-rays -of objects are called projections or raysums. +FEATURES +======== -Phantom objects are defined. Several built-in phantoms are included, -as well as an extension to load files of phantom definitions. +Several standard phantom objects are built-in. Other phantoms can be +loaded from ASCII files. + +CTsim uses cross-platform compatible file formats for projection data and +image data. -CTsim uses .sdf (standard data files) to represent 2-dimensional image -data. It uses a 32-bit floating-point pixel format. SDF is loosely -based on a image file format used by the Jet Propulsion Laboratory -(JPL). It supports multiple text labels per image. THE PROGRAMS ------------- +============ + +ctsim - a graphical user interface for most functions. This programs +has all of the functionality of the command line tools except for +image comparison functions. + +phm2if - generates an image file of a phantom object + +phm2pj - Simulates the collection of CT data, or projections, of a +phantom object -phm2sdf - generates an SDF image of a phantom object +pjrec - Performs an CT reconstruction, also known as image +reconstruction from projections. Reads a projection file and writes a +SDF file. -phm2rs - Simulates the collection of CT data, or raysums, of a phantom -object +pj2if - Converts projection data to a raw sinugram image -ctrec - Performs an CT reconstruction, also known as image -reconstruction from projections. Reads a raysum file and writes a SDF -file. +pjinfo - Show information on a projection file -rs2sdf - Converts raysum data to a raw sinugram image +ifexport - Converts an image file to a variety of 8-bit and 16-bit image +formats -sdf2img - Converts an SDF file to a variety of 8-bit image formats +if1 - Performs operations on a single image file + +if2 - Performs operations on two image files, such as comparisons + +ifinfo - Show statistics and history labels of image files -sdfinfo - Show statistics and history labels of SDF files TYPICAL USAGE -------------- +============= + +Graphical User Interface +------------------------ + +Use ctsim. + + +Command Line Interface +---------------------- When evaluating CT simulation, in general, these steps are followed: Create a phantom image and viewable image file - phm2sdf ... - sdf2img ... + phm2if ... + ifexport ... -Simulate CT data collection and create a viewable image of raw raysums - phm2rs ... - rs2sdf ... - sdf2img ... +Simulate CT data collection and create a viewable image of raw projections + phm2pj ... + pj2if ... + ifexport ... Perform CT reconstruction and create viewable image file - ctrec ... - sdf2img ... - -These functions are convert output image to a PNG file performed by -the CGI program ctsim.cgi which can be installed as described in -INSTALL file. - -There is a sample shell script installed called 'sample-ctrec'. - -HDF FILE FORMAT -=============== - -If the HDF library is compiled into CTSim, it will be used for the -raysum and image files. - -Reconstruction Groups ---------------------- -Group Name="Recon" - SubDataset="ReconParam" - SubGroup="Proj" - SubDataset="Raysum" - SubDataset="Geometry" - SubGroup="Phantom" - SubDataset "FImage" - SubGroup="Reconstr" - SubDataset "FImage" - -Image Dataset -------------- -Name="FImage" -DataType: FLOAT -Attributes: - "XSize" DOUBLE : X size of pixel in world coordinates - "YSize" DOUBLE : Y size of pixel in world coordinates - - -Raysum Group -------------- -Group Name="Proj" -Proj Dataset - Name="Raysum" - DataType: FLOAT - Dim: 2 (nviews x ndet) - Attributes: -Geometry Dataset - Name="Geometry" - DataType: FLOAT - Dim: 1 (nviews x 1) - Data: For each view, store view_angle - Attributes: - "GEOMCODE" INT : Geometry Code - "DETSTART" - "DETINC" - "ROTSTART" - "ROTINC" - -CLOSING -======= + pjrec ... + ifexport ... -Please enjoy CTSim. I'd like to hear any feedback +Display image information and comparative statistics + ifinfo ... -Kevin M. Rosenberg, M.D. -kevin@rosenberg.net +There is a sample shell script installed called 'sample-ctsim.sh' +in the tools direction that performs the above commands. + +These functions can be invoked via a web interface with a CGI program +as described in the INSTALL file. + + +COPYRIGHT +========= +This program is written by Kevin M. Rosenberg, M.D. + +It is covered by the GNU General Public License (GPL) which +allows copying and modifying this code with restrictions. See the +file COPYING for complete details.