quadruple.
The GENERAL information includes IDENTIFICATION INFORMATION GROUP (0008),
GENERAL INFORMATION GROUP (0009), PATIENT INFORMATION GROUP (0010),
ACQUISITION INFORMATION GROUP (0018), RELATIONSHIP INFORMATION GROUP
(0020), and IMAGE PRESENTATION INFORMATION GROUP (0028). The SCENE data
starts at 0029 with the SCENE-RELATED INFORMATION GROUP.
C.2.4 STRUCTURE_V1.1.SPC
This is also an ASCII file like SCENE_V1.1.SPC file. It is identical
to SCENE_V1.1.SPC file except it contains STRUCTURE-RELATED INFORMATION
GROUP (002B) instead of the SCENE-RELATED INFORMATION GROUP (0029).
C.2.5 DISPLAY_V1.1.SPC
This is also an ASCII file like SCENE_V1.1.SPC file. It is identical
to SCENE_V1.1.SPC file except it contains DISPLAY-RELATED INFORMATION
GROUP (002D) instead of the SCENE-RELATED INFORMATION GROUP (0029).
C.2.6 DEFAULT
This ASCII file contains the default 3DVIEWNIX reserved colors (12).
It also contains information about the default TAPE_PATH_NAME to be
used to access a tape drive. The entries in this file look like :
62194;51400;48316;
17733;17733;22873;
23901;23644;32639;
0;0;6425;
49344;49087;58853;
65535;65535;42919;
65535;65535;1028;
65535;0;16448;
65535;0;16448;
9509;13107;15934;
30069;20046;30326;
65535;28013;0;
/usr/mipgsun/fm/mipg_images
Each of the first 12 entries are RGB values of the reserved color.
The reserved colors are arranged as follows :
-----------------------------------------------------
Reserved Color (Pixel) Purpose
-----------------------------------------------------
0 (246) - border and text color
-----------------------------------------------------
1 (247) - title,dialog and mouse win
background color
-----------------------------------------------------
2 (248) - special color for 3d effect
-----------------------------------------------------
3 (249) - special color for 3d effect
-----------------------------------------------------
4 (250) - special color for 3d effect
-----------------------------------------------------
5 (251) - dialog message color
-----------------------------------------------------
6 (255) - text on image without overlay
-----------------------------------------------------
7 (254) - text on image with overlay
-----------------------------------------------------
8 (253) - image window color when
overlay 1 is on
-----------------------------------------------------
9 (252) - image window color when
overlay is off
-----------------------------------------------------
10 (245) - highlight color for menu/panel
-----------------------------------------------------
11 (244) - special color used in help
-----------------------------------------------------
If a user does not want to use the DEFAULT reserved colors, (s)he can
change it within 3DVIEWNIX by using the MISCELLANEOUS/COLORMAP module.
C.2.7 ERROR_CODES
This is an ASCII files that contains all the possible error messages
that occur while executing 3dviewnix library functions. Each of these
error code has a number which which are indexed in APPENDIX A. The
entries in the ERROR_CODES file look like :
Fatal error
No error
MEMORY ALLOCATION ERROR
READ ERROR
WRITE ERROR
FILE OPEN ERROR
IMPROPER FILE SEEK
Invalid window ID
.....
VDecodeError looks up this file when a user passes the error code,
and prints the proper error message to the 3DVIEWNIX.ERR file.
C.2.8 FONTNAME
This ASCII file contains the fonts to be used in the 3DVIEWNIX windows -
image window, dialog window, mouse window and title window. When
3DVIEWNIX is started, it looks for a FONT.COM file in the current
directory. If it cannot find FONT.COM file it looks for FONTNAME file
in the FILES directory to get the appropriate font for all the windows.
If FONTNAME file has improper font, or FONTNAME is not available,
3DVIEWNIX uses default fonts from the system.
C.2.9 HELPFILE
This is an ASCII file that contains the contents of the HELP that is
available inside 3DVIEWNIX. The HELP is categorized into six topics :
GENERAL
PORT_DATA
PREPROCESS
VISUALIZE
MANIPULATE
ANALYZE
MISC.
Inside each category there are topics. Within topics, there are
subtopics. The topics and subtopics are color coded for easy reading.
The HELP contents are listed separately in the bottom window of the
HELP window. The HELP file looks like :
#GENERAL#
#Topic 1 INTRODUCTION
3DVIEWNIX is a data-, machine-, and application-independent software
system developed by the Medical Image Processing Group, Department of
Radiology, University of Pennsylvania, Philadelphia. ...
#endtopic#
#Topiclevel2 1.1 How To Use This Document
Section 2 describes the 3DVIEWNIX installation procedure. Systems
manager or those who are responsible to install 3DVIEWNIX at your site
should read that section. ...
#endtopic#
#endchapter#
It is easy to add new topics and subtopics to this list. However the
the six categories in HELP are fixed. To change this, one will have to
change the VDisplayHelp function. An experienced 3DVIEWNIX programmer
should be able to do this.
C.2.10 MENU_TREE
This ASCII file contains the entire 3DVIEWNIX MENU structure. The
entries in this file are a little complicated and they look like:
-1 1 15 PORT-DATA 0 horizontal 0 0
The first column in this entry represents parent of the current entry.
The second column represents the son (daughter) and the third column
represents the sibling of the current entry. In the case above
this entry has no parent (-1), it has a son at the next line and the
15th entry down the file is the sibling. The next column is the name
of the MENU command as it appears in the window. In this case it is
"PORT-DATA". The next column represents the process associated with the
command. In this case there is no process associated with the command.
The next command indicates whether the next level of menu is going to
be horizontal or vertical (terminal) menu. The next column represents
the files that should be loaded when the INPUT module comes up. In this
case there are no files that are associated with this comand. The last
column of this entry indicates whether this comand is a terminal node (-1)
or a non terminal node (0). The progams "cr_menu_tree" reads the
MENU_TREE file and writes it in a binary file called MENU.COM file.
MENU_TREE file is a complicated file to edit if one needs to add
new items to the menu. Instead one can edit the SIMPLE_MENU file
(explained below) and add new menu items or remove exisiting ones. There
is a program called "create_menu" that converts SIMPLE_MENU file to the
MENU_TREE file format.
C.2.11 SIMPLE_MENU
This ASCII file looks very similar to MENU_TREE file but is much
easier to read and edit. Typiccaly the entries in this file would look
like:
0 PORT-DATA 0 horizontal 0
1 In 0 horizontal 0
2 FromAcrnema from_disk 0 0
2 FromTape 0 vertical 0
3 GE8800 dummy_proc 0 0
3 GE9800 dummy_proc 0 0
3 SIGNA dummy_proc 0 0
3 PennPET dummy_proc 0 0
2 EasyHeader EasyHeader 0 0
2 CreateFileHeader create_fileheader 0 0
2 ModifyFileHeader modify_fileheader 0 IM0/BIM/MV0/BS0/BS1/SH0
2 Retrieve retrieve 0 0
1 Out 0 vertical 0
2 BackUp backup 0 0
1 ChangeDefaultTape change_tape 0 0
The above entries show a systematic separation of levels in the menu.
As shown above all entries starting with 1 are sons (duaghters) of
entry starting with 0. Similarly all entries starting with 2 are sons
(daughters) of entries starting with 1 and so on.
Suppose we wanted to add a new entry say Elsinct in level3 and
have a process called elsinct that reads Elsinct data format, in order
to add it to the menu one would have to edit the SIMPLE_MENU file as :
0 PORT-DATA 0 horizontal 0
......
2 FromTape 0 vertical 0
3 Elsinct elsinct 0 0
3 GE8800 dummy_proc 0 0
3 GE9800 dummy_proc 0 0
......
1 ChangeDefaultTape change_tape 0 0
What the above addition means is that there will be another entry in the
vertical menu under "FromTape" that will include Elsinct as the first
entry. The "elsinct" program has no children and it will read any kind of
file.
Similarly if one needs to add a whole new menu item, one can do so
as follows :
0 ANIMATION 0 horizontal 0
1 Still_pictures 0 horizontal 0
2 GIF gif 0 0
2 SunRaster sunraster 0 0
2 PostScript 0 vertical 0
3 GrayScale grayscale_postscript 0 0
3 Color color_postscript 0 0
2 TIFF tiff 0 0
2 Khoros 0 vertical 0
3 Viff viff_khoros 0 0
3 XV xv_khoros 0 0
1 Movie 0 vertical 0
2 Continuous continuous 0 0
2 DisContinuous discontinuous 0 0
After editing the SIMPLE_MENU file, please run the "create_menu" program
to create the MENU_TREE file in the FILES directory.
C.2.12 TAPE_PATH_NAME
This is an ASCII file that stores the names of the devices from where
data can be brought into 3DVIEWNIX. These tape path names also are used
to write to the devices. A typical TAPE_PATH_NAME file would look like:
mipgsun /dev/nrst1 f 1/2inch
chromos2 /dev/nrst0 f 1/4inch
imager2 /dev/nrst0 f 1/4inch
3dv1 /dev/nrtape8mm t 8mm
3dv1 /dev/nrtape t 1/4inch
The format of TAPE_PATH_NAME file is :
machine_name1 device1 mt_option tape_size
machine_name2 device2 mt_option tape_size
.....
where machine_name indicates the name of the machine the tape drive is
mounted on; device indicates the name of the tape drive which does not
rewind the tape automatically (i.e., /dev/nrst1); mt_option indicates
the option to be used by the "mt" command to specify the tape device;
tape_size indicates what kind of tape device (e.g., 1/4inch, 1/2inch,
8mm) it is.
TAPE_PATH_NAME contains the list of hosts and the device names on
these machines that are accessible to the 3DVIEWNIX users. This requires
that all users have the following :
- An account on each of the machines.
- They can access their account remotely without giving a password.
This can be accomodated by running a Network Information Service
(NIS) server or by asking each 3DVIEWNIX user to have a .rhosts
file which would give access to the machines on which 3DVIEWNIX
is running.
- They can access the device on these hosts.
- They should be able to run the "dd" and "mt" unix commands on
the host machine.
- The format in which some scanners output the data is not a
standard ASCII format. If so "mt" fails when one tries to skip
files with some data formats. Hence 3DVIEWNIX has its own
command to do this. This program is called mtfsf.c and is
available in PROCESS/PORT_DATA/SIGNA in the main 3DVIEWNIX
directory. This file should be copied over to each of the host
machines specified in the TAPE_PATH_NAME file and should be
compiled as follows :
% cc mtfsf.c -o mtfsf