home *** CD-ROM | disk | FTP | other *** search
/ c't freeware shareware 1999 February / CT_SW9902.ISO / mac / software / wissen / daten / tnimg227.exe / TNIMAGE.TEX < prev    next >
Text File  |  1997-06-19  |  431KB  |  10,275 lines

  1. %
  2. % tnimage.tex
  3. % format: TeX
  4. %
  5. \font\bbe = cmb10 scaled \magstep 4
  6. \font\bbd = cmb10 scaled \magstep 3
  7. \font\bbc = cmb10 scaled \magstep 2
  8. \font\bbb = cmb10 scaled \magstep 1
  9. \font\bba = cmb10 scaled \magstep 0
  10.  
  11.  
  12. \font\rme = cmr10 scaled \magstep 4
  13. \font\rmd = cmr10 scaled \magstep 3
  14. \font\rmc = cmr10 scaled \magstep 2
  15. \font\rmb = cmr10 scaled \magstep 1
  16. \font\rma = cmr10 scaled \magstep 0
  17.  
  18. \font\tte = cmtt10 scaled \magstep 4
  19. \font\ttd = cmtt10 scaled \magstep 3
  20. \font\ttc = cmtt10 scaled \magstep 2
  21. \font\ttb = cmtt10 scaled \magstep 1
  22. \font\tta = cmtt10 scaled \magstep 0
  23.  
  24. \font\ite = cmti10 scaled \magstep 4
  25. \font\itd = cmti10 scaled \magstep 3
  26. \font\itc = cmti10 scaled \magstep 2
  27. \font\itb = cmti10 scaled \magstep 1
  28. \font\ita = cmti10 scaled \magstep 1
  29.  
  30. \def\bs {$\backslash$}
  31.  
  32. % Macro for putting text in boxes
  33.  
  34. \def\boxtext#1{%
  35. \vbox{%
  36.       \hrule
  37.       \hbox{\strut \vrule{} #1 \vrule}%
  38.       \hrule
  39.      }%
  40. }
  41.  
  42. \baselineskip = 11 pt
  43. \vsize = 9 in
  44. \hsize = 6 in
  45.  
  46. % --------Start------- %
  47.  
  48.  
  49. \headline = {\hfil \rma TN-Image Page \the\pageno }
  50. \rmb
  51. \leftline { Section 0.0.0 }
  52. \rme
  53. \vskip 1.5 in\hrule height 2 pt
  54. \vskip 1.5 in
  55. \bbd\hfil
  56.         TN-IMAGE
  57. \par\vskip 2 in\hrule height 2 pt
  58. \vskip 1 in
  59.  
  60. \bbc
  61.         Description of TN-Image and xmtnimage
  62. \par    Image Analysis Software
  63.  
  64. \rma Thomas J. Nelson (tjnelson@las1.ninds.nih.gov)
  65.  
  66. \vskip 0.5 in
  67. \rmb
  68.         Latest version:  2.5.7
  69. \par    Latest revision: 07/01/1997
  70. \vfill\eject
  71. \rm
  72.  
  73.         Ordering (DOS version): 
  74. \par
  75. \leftskip = 1 in      T.J. Nelson \par
  76.                       Box 275 \par
  77.                       11140 Rockville Pike \par
  78.                       Rockville, MD 20852 \par
  79.                       USA
  80.  
  81. \par\vskip 0.5 in
  82. \leftskip = 0 in
  83.         e-mail:       
  84. \par\leftskip = 1 in tjnelson@las1.ninds.nih.gov
  85. \par\vskip 0.5 in
  86. \leftskip = 0 in
  87.                     
  88.         ftp sites:  
  89. \par
  90. \leftskip = 1 in
  91.       ftp://sunsite.unc.edu/Linux/X11/xapps/graphics (Linux versions)  \par
  92.  
  93.       ftp://las1.ninds.nih.gov/pub/unix/tnimage (all Unix versions) \par
  94.       http://las1.ninds.nih.gov/pub/unix/tnimage (all Unix versions) \par
  95.       ftp://las1.ninds.nih.gov/pub/dos/tnimage (DOS version) \par
  96. \par\vskip 0.5 in
  97. \leftskip = 0 in
  98.                              
  99.      A collection of sample test images, mostly in TIF format, is also 
  100.      available at these sites. These are also the ftp sites for \tt nplot\rm, 
  101.      the scientific graphics plotting program, and \tt tnshell\rm, 
  102.      the DOS file manager. 
  103.                       
  104.      The DOS version is also available at SimTel mirror sites.
  105.  
  106.  
  107.         BBS sites: 
  108. \par
  109. \leftskip = 1 in
  110.                     Compuserve, PCAPP, library 10                    
  111. \par\vskip 0.5 in
  112. \leftskip = 0 in
  113. \vskip 2 in
  114. \vfill\eject
  115.  
  116.                 
  117.  
  118. \hrule
  119. \bigskip
  120. \bbc { 1.0.0  Introduction }
  121. \par\bigskip  
  122. \hrule\medskip 
  123. \vskip 0.5 in
  124. \par\rma
  125.  
  126.    TN-Image is an advanced image analysis program oriented toward
  127.    scientific and technical image analysis and editing.
  128.    This manual describes both the DOS and Unix versions. The
  129.    functionality of both versions is similar. However, those parts 
  130.    of the manual discussing DOS specific issues and registration 
  131.    are not applicable to the Unix version.
  132.     
  133.     
  134. \bigskip\vfill
  135. \eject
  136. \baselineskip = 11 pt
  137.  
  138.  
  139. \hrule\bigskip
  140. \bbc\ { 1.1.0   Contents }
  141. \bigskip
  142. \hrule\bigskip
  143. \rm
  144. \rm
  145.  
  146. \hbox to 6 in {   Introduction                           \dotfill 1.0.0 }
  147. \hbox to 6 in {   Contents                               \dotfill 1.1.0 }
  148. \hbox to 6 in {   Summary                                \dotfill 2.0.0 }
  149. \hbox to 6 in {   Usage License                          \dotfill 3.0.0 }
  150. \hbox to 6 in {  \hskip 0.5 in  Summary of features in different versions  
  151.                                                          \dotfill 3.1.0 }
  152. \hbox to 6 in { \hskip 0.5 in  Submitting bug reports    \dotfill 3.2.0 }
  153. \hbox to 6 in {  Upgrade policy                          \dotfill 4.0.0 }
  154. \hbox to 6 in {  System Requirements                     \dotfill 5.0.0 }
  155.  
  156. \hbox to 6 in {  Overview                                \dotfill 6.0.0 }
  157. \hbox to 6 in { \hskip 0.5 in  File types supported      \dotfill 6.1.0 }
  158. \hbox to 6 in { \hskip 0.5 in  Pixel intensities         \dotfill 6.2.0 }
  159. \hbox to 6 in { \hskip 0.5 in  Menu bars (DOS version)   \dotfill 6.3.0 }
  160. \hbox to 6 in { \hskip 0.5 in  Menu bars (Unix version)  \dotfill 6.3.1 }
  161. \hbox to 6 in { \hskip 0.5 in  Tutorial files            \dotfill 6.4.0 }
  162.  
  163.  
  164.  
  165.  
  166. \hbox to 6 in {                Operation                 \dotfill 7.0.0 }
  167. \hbox to 6 in { \hskip 0.5 in  Command line options      \dotfill 7.1.0 }
  168. \hbox to 6 in { \hskip 1 in    Unix command line options \dotfill 7.1.1 }
  169. \hbox to 6 in { \hskip 1 in    X Window resources        \dotfill 7.1.2 }
  170. \hbox to 6 in { \hskip 1 in    Non-Motif resources       \dotfill 7.1.3 }
  171. \hbox to 6 in { \hskip 1 in    User-defined buttons      \dotfill 7.1.4 }
  172. \hbox to 6 in { \hskip 1 in    Image windows             \dotfill 7.1.5 }
  173. \hbox to 6 in { \hskip 0.5 in  Video cards supported     \dotfill 7.2.0 }
  174. \hbox to 6 in { \hskip 0.5 in  Screen modes supported    \dotfill 7.3.0 }
  175. \hbox to 6 in { \hskip 0.5 in  Basic operation           \dotfill 7.4.0 }
  176. \hbox to 6 in { \hskip 0.5 in  Operating under low-memory conditions
  177.                                                          \dotfill 7.5.0 }
  178. \hbox to 6 in { \hskip 0.5 in  Commonly asked questions  \dotfill 7.6.0 }
  179. \hbox to 6 in { \hskip 0.5 in  Batch-mode processing     \dotfill 7.7.0 }
  180. \hbox to 6 in { \hskip 0.5 in  Editing text files        \dotfill 7.8.0 }
  181. \hbox to 6 in { \hskip 0.5 in  Reading mail attachments  \dotfill 7.9.0 }
  182.  
  183.  
  184.  
  185. \hbox to 6 in {               Menu Options               \dotfill 8.0.0 }
  186. \hbox to 6 in { \hskip 0.5 in File Menu                  \dotfill 8.1.0 }
  187. \hbox to 6 in { \hskip 0.7 in Load Image                 \dotfill 8.1.1 }
  188. \hbox to 6 in { \hskip 0.9 in CT, X-ray, NMR, and raw byte images
  189.                                                          \dotfill 8.1.1.1 }
  190. \hbox to 6 in { \hskip 0.9 in Reading raw byte files     \dotfill 8.1.1.2 }
  191. \hbox to 6 in { \hskip 0.9 in Reading Images from Macintosh\dotfill 8.1.1.3 }
  192. \hbox to 6 in { \hskip 0.9 in Reading ASCII images       \dotfill 8.1.1.4 }
  193. \hbox to 6 in { \hskip 0.9 in Reading 3D images          \dotfill 8.1.1.5 }
  194. \hbox to 6 in { \hskip 0.9 in Reading confocal microscope and PET scan images
  195.                                                          \dotfill 8.1.1.6 }
  196. \hbox to 6 in { \hskip 0.7 in Save Image                 \dotfill 8.1.2 }
  197. \hbox to 6 in { \hskip 0.7 in Printing Images            \dotfill 8.1.3 }
  198. \hbox to 6 in { \hskip 0.9 in  Grayscale printing        \dotfill 8.1.3.1 }
  199. \hbox to 6 in { \hskip 0.9 in  Color printing            \dotfill 8.1.3.2 }
  200. \hbox to 6 in { \hskip 0.9 in  Printing to a file or different printer
  201.                                                          \dotfill 8.1.3.3 }
  202. \hbox to 6 in { \hskip 0.9 in  Printing in Unix          \dotfill 8.1.3.4 }
  203. \hbox to 6 in { \hskip 0.9 in  Printing in Windows       \dotfill 8.1.3.5 }
  204.  
  205. \hbox to 6 in { \hskip 0.7 in Change Title               \dotfill 8.1.4 }
  206. \hbox to 6 in { \hskip 0.7 in Create/Resize Object       \dotfill 8.1.6 }
  207. \hbox to 6 in { \hskip 0.7 in Switch to                  \dotfill 8.1.7 }
  208. \hbox to 6 in { \hskip 0.7 in Create File Format         \dotfill 8.1.8 }
  209. \hbox to 6 in { \hskip 0.7 in Save FFT                   \dotfill 8.1.9 }
  210. \hbox to 6 in { \hskip 0.7 in Erase FFT                  \dotfill 8.1.10 }
  211. \hbox to 6 in { \hskip 0.7 in DOS Command                \dotfill 8.1.11 }
  212. \hbox to 6 in { \hskip 0.7 in Erase FFT                  \dotfill 8.1.12 }
  213. \hbox to 6 in { \hskip 0.7 in Quit                       \dotfill 8.1.13 }
  214. \hbox to 6 in { \hskip 0.7 in Load FFT                   \dotfill 8.1.14 }
  215. \hbox to 6 in { \hskip 0.7 in Acquire (scanner interface)\dotfill 8.1.15 }
  216. \hbox to 6 in { \hskip 0.7 in Creating and executing plugins 
  217.                                                          \dotfill 8.1.16 }
  218.  
  219. \hbox to 6 in { \hskip 0.5 in Image menu                 \dotfill 8.2.0 }
  220. \hbox to 6 in { \hskip 0.7 in Delete region              \dotfill 8.2.1 }
  221. \hbox to 6 in { \hskip 0.7 in Crop                       \dotfill 8.2.2 }
  222. \hbox to 6 in { \hskip 0.7 in Erase background           \dotfill 8.2.3 }
  223. \hbox to 6 in { \hskip 0.7 in Copy/Move                  \dotfill 8.2.4 }
  224. \hbox to 6 in { \hskip 0.7 in    Copying chromakeyed regions  \dotfill 8.2.4.1 }
  225. \hbox to 6 in { \hskip 0.7 in Paste                      \dotfill 8.2.5 }
  226. \hbox to 6 in { \hskip 0.7 in Change size                \dotfill 8.2.6 }
  227. \hbox to 6 in { \hskip 0.7 in Rotate image               \dotfill 8.2.7 }
  228. \hbox to 6 in { \hskip 0.7 in Flip horizontally          \dotfill 8.2.8 }
  229. \hbox to 6 in { \hskip 0.7 in Flip vertically            \dotfill 8.2.9 }
  230. \hbox to 6 in { \hskip 0.7 in Back up                    \dotfill 8.2.10 }
  231. \hbox to 6 in { \hskip 0.7 in Restore                    \dotfill 8.2.11 }
  232. \hbox to 6 in { \hskip 0.7 in Image properties           \dotfill 8.2.12 }
  233. \hbox to 6 in { \hskip 0.9 in   Chroma-key               \dotfill 8.2.12.1 }
  234. \hbox to 6 in { \hskip 0.9 in   Transparency             \dotfill 8.2.12.2 }
  235. \hbox to 6 in { \hskip 0.7 in Repair                     \dotfill 8.2.13 }
  236. \hbox to 6 in { \hskip 0.7 in 3D / Frame controls        \dotfill 8.2.14 }
  237.  
  238. \hbox to 6 in { \hskip 0.5 in Process menu               \dotfill 8.3.0 }
  239. \hbox to 6 in { \hskip 0.7 in Filter                     \dotfill 8.3.1 }
  240. \hbox to 6 in { \hskip 0.9 in High pass                  \dotfill 8.3.1.1 }
  241. \hbox to 6 in { \hskip 0.9 in Low pass                   \dotfill 8.3.1.2 }
  242. \hbox to 6 in { \hskip 0.9 in Background subtract        \dotfill 8.3.1.2 }
  243. \hbox to 6 in { \hskip 0.9 in Background flatten (de-trending)  \dotfill 8.3.1.4 }
  244. \hbox to 6 in { \hskip 0.9 in Noise reduction (median) filter   \dotfill 8.3.1.5 }
  245. \hbox to 6 in { \hskip 0.9 in Laplace edge enhancement    \dotfill 8.3.1.6 }
  246. \hbox to 6 in { \hskip 0.9 in Sobel edge enhancement      \dotfill 8.3.1.7 }
  247. \hbox to 6 in { \hskip 0.9 in Edge detection              \dotfill 8.3.1.8 }
  248. \hbox to 6 in { \hskip 0.9 in Adjustable parameters       \dotfill 8.3.1.9 }
  249. \hbox to 6 in { \hskip 0.7 in Warp                        \dotfill 8.3.2 }
  250. \hbox to 6 in { \hskip 0.7 in Measure                     \dotfill 8.3.3 }
  251. \hbox to 6 in { \hskip 0.9 in Distance                    \dotfill 8.3.3.1 }
  252. \hbox to 6 in { \hskip 0.9 in Angle                       \dotfill 8.3.3.2 }
  253. \hbox to 6 in { \hskip 0.7 in Calibration.                \dotfill 8.3.4 }
  254. \hbox to 6 in { \hskip 0.7 in Spot Densitometry           \dotfill 8.3.5 }
  255. \hbox to 6 in { \hskip 0.9 in Area Measurements           \dotfill 8.3.5.1 }
  256. \hbox to 6 in { \hskip 0.7 in Strip Densitometry          \dotfill 8.3.6 }
  257. \hbox to 6 in { \hskip 0.9 in Plotting data               \dotfill 8.3.7 }
  258. \hbox to 6 in { \hskip 0.9 in Peak areas                  \dotfill 8.3.8 }
  259. \hbox to 6 in { \hskip 0.7 in Trace curve                 \dotfill 8.3.9 }
  260. \hbox to 6 in { \hskip 0.7 in Image algebra               \dotfill 8.3.10 }
  261. \hbox to 6 in { \hskip 0.7 in FFT (2D Fourier Transform)    \dotfill 8.3.11 }
  262. \hbox to 6 in { \hskip 0.9 in Convolution                   \dotfill 8.3.11.1 }
  263. \hbox to 6 in { \hskip 0.9 in Deconvolution and image reconstruction 
  264.                                                             \dotfill 8.3.11.2 }
  265. \hbox to 6 in { \hskip 0.9 in Digital filtering using FFT   \dotfill 8.3.11.3 }
  266. \hbox to 6 in { \hskip 0.7 in Macros                        \dotfill 8.3.12 }
  267. \hbox to 6 in { \hskip 0.9 in Macro command summary         \dotfill 8.3.12.1 }
  268. \hbox to 6 in { \hskip 0.9 in Macro programming guide       \dotfill 8.3.12.2 }
  269.  
  270. \hbox to 6 in { \hskip 0.5 in Color Menu                    \dotfill 8.4.0 }
  271. \hbox to 6 in { \hskip 0.7 in Set color                     \dotfill 8.4.1 }
  272. \hbox to 6 in { \hskip 0.7 in Color intensity/brightness    \dotfill 8.4.2 }
  273. \hbox to 6 in { \hskip 0.9 in Changing brightness using palette bar\dotfill 8.4.2.1 }
  274. \hbox to 6 in { \hskip 0.9 in Changing brightness using menus      \dotfill 8.4.2.2 }
  275. \hbox to 6 in { \hskip 0.7 in Contrast                             \dotfill 8.4.3 }
  276. \vfill\eject
  277. \hbox to 6 in { \hskip 0.7 in Palette (colormap)             \dotfill 8.4.4 }
  278. \hbox to 6 in { \hskip 0.9 in Select colormap                \dotfill 8.4.4.1 }
  279. \hbox to 6 in { \hskip 0.9 in Grayscale intensity mapping    \dotfill 8.4.4.2 }
  280. \hbox to 6 in { \hskip 0.9 in Read colormap from disk        \dotfill 8.4.4.3 }
  281. \hbox to 6 in { \hskip 0.9 in Save colormap to disk          \dotfill 8.4.4.4 }
  282. \hbox to 6 in { \hskip 0.9 in Create colormap                \dotfill 8.4.4.5 }
  283. \hbox to 6 in { \hskip 0.9 in Invert colormap                \dotfill 8.4.4.6 }
  284. \hbox to 6 in { \hskip 0.9 in Rotate colormap                \dotfill 8.4.4.7 }
  285. \hbox to 6 in { \hskip 0.9 in Restore original colormap      \dotfill 8.4.4.8 }
  286. \hbox to 6 in { \hskip 0.9 in Sort colormap                  \dotfill 8.4.4.9 }
  287.  
  288.  
  289. \hbox to 6 in { \hskip 0.7 in Remap colors                   \dotfill 8.4.5 }
  290. \hbox to 6 in { \hskip 0.7 in Invert colors                  \dotfill 8.4.6 }
  291. \hbox to 6 in { \hskip 0.7 in Change color depth             \dotfill 8.4.7 }
  292. \hbox to 6 in { \hskip 0.7 in Color to gray scale            \dotfill 8.4.8 }
  293. \hbox to 6 in { \hskip 0.7 in Gray scale tocolor             \dotfill 8.4.9 }
  294. \hbox to 6 in { \hskip 0.7 in Histogram                      \dotfill 8.4.10 }
  295. \hbox to 6 in { \hskip 0.7 in Change pixel value             \dotfill 8.4.11 }
  296. \hbox to 6 in { \hskip 0.7 in Separate colors                \dotfill 8.4.12 }
  297. \hbox to 6 in { \hskip 0.7 in Composite image                \dotfill 8.4.13 }
  298.  
  299. \hbox to 6 in { \hskip 0.5 in Draw menu                      \dotfill 8.5.0 }
  300. \hbox to 6 in { \hskip 0.7 in Label                          \dotfill 8.5.1 }
  301. \hbox to 6 in { \hskip 0.7 in Set foreground color           \dotfill 8.5.2 }
  302. \hbox to 6 in { \hskip 0.7 in Set background color           \dotfill 8.5.3 }
  303. \hbox to 6 in { \hskip 0.7 in Line                           \dotfill 8.5.4 }
  304. \hbox to 6 in { \hskip 0.7 in Circle                         \dotfill 8.5.5 }
  305. \hbox to 6 in { \hskip 0.7 in Box                            \dotfill 8.5.6 }
  306. \hbox to 6 in { \hskip 0.7 in Arrow                          \dotfill 8.5.7 }
  307. \hbox to 6 in { \hskip 0.7 in Curve                          \dotfill 8.5.8 }
  308. \hbox to 6 in { \hskip 0.9 in Bezier curve.                  \dotfill 8.5.8.1 }
  309. \hbox to 6 in { \hskip 0.9 in B-spline curve                 \dotfill 8.5.8.2 }
  310. \hbox to 6 in { \hskip 0.9 in Least-squares line             \dotfill 8.5.8.3 }
  311. \hbox to 6 in { \hskip 0.9 in Polygon                        \dotfill 8.5.8.4 }
  312. \hbox to 6 in { \hskip 0.9 in Trapezoid                      \dotfill 8.5.8.5 }
  313. \hbox to 6 in { \hskip 0.9 in Snap trapezoid                 \dotfill 8.5.8.6 }
  314. \hbox to 6 in { \hskip 0.9 in Fixed-width rectangle          \dotfill 8.5.8.7 }
  315.  
  316. \hbox to 6 in { \hskip 0.7 in Text direction                 \dotfill 8.5.7 }
  317. \hbox to 6 in { \hskip 0.7 in Font                           \dotfill 8.5.8 }
  318. \hbox to 6 in { \hskip 0.7 in Sketch                         \dotfill 8.5.9 }
  319. \hbox to 6 in { \hskip 0.7 in Fill region                    \dotfill 8.5.10 }
  320. \hbox to 6 in { \hskip 0.9 in Gradient fill                  \dotfill 8.5.10.1 }
  321. \hbox to 6 in { \hskip 0.7 in Paint region                   \dotfill 8.5.11 }
  322. \hbox to 6 in { \hskip 0.7 in Spray                          \dotfill 8.5.12 }
  323. \hbox to 6 in { \hskip 0.9 in Fine spray                     \dotfill 8.5.12.1 }
  324. \hbox to 6 in { \hskip 0.9 in Diffuse spray                  \dotfill 8.5.12.2 }
  325. \hbox to 6 in { \hskip 0.9 in Math spray                     \dotfill 8.5.12.3 }
  326. \hbox to 6 in { \hskip 0.7 in Add border                     \dotfill 8.5.13 }
  327.  
  328. \hbox to 6 in { \hskip 0.5 in About menu                     \dotfill 8.6.0 }
  329. \hbox to 6 in { \hskip 0.7 in About the program              \dotfill 8.6.1 }
  330. \hbox to 6 in { \hskip 0.7 in About the file                 \dotfill 8.6.2 }
  331. \hbox to 6 in { \hskip 0.7 in About the image                \dotfill 8.6.3 }
  332. \hbox to 6 in { \hskip 0.7 in How to register                \dotfill 8.6.4 }
  333.  
  334. \hbox to 6 in { \hskip 0.5 in Configure menu                 \dotfill 8.7.0 }
  335. \hbox to 6 in { \hskip 0.7 in Show menu bar                  \dotfill 8.7.1 }
  336. \hbox to 6 in { \hskip 0.7 in Show menu bar 2                \dotfill 8.7.2 }
  337. \hbox to 6 in { \hskip 0.7 in Show colormap                  \dotfill 8.7.3 }
  338. \hbox to 6 in { \hskip 0.7 in Redraw menu bar                \dotfill 8.7.4 }
  339. \hbox to 6 in { \hskip 0.7 in Redraw colormap                \dotfill 8.7.5 }
  340. \hbox to 6 in { \hskip 0.7 in Show O.D. table                \dotfill 8.7.6 }
  341. \hbox to 6 in { \hskip 0.7 in Pixel interact mode            \dotfill 8.7.7 }
  342. \hbox to 6 in { \hskip 0.7 in Configure                      \dotfill 8.7.8 }
  343. \vfill\eject
  344. \hbox to 6 in { \hskip 0.9 in Automatic undo                 \dotfill 8.7.8.1 }
  345. \hbox to 6 in { \hskip 0.9 in Spray factor                   \dotfill 8.7.8.2 }
  346. \hbox to 6 in { \hskip 0.9 in Cursor movement rate           \dotfill 8.7.8.3 }
  347. \hbox to 6 in { \hskip 0.9 in Color settings                 \dotfill 8.7.8.4 }
  348. \hbox to 6 in { \hskip 0.9 in Significant digits             \dotfill 8.7.8.5 }
  349. \hbox to 6 in { \hskip 0.9 in Crawl delay                    \dotfill 8.7.8.6 }
  350. \hbox to 6 in { \hskip 0.9 in Crawl density                  \dotfill 8.7.8.7 }
  351. \hbox to 6 in { \hskip 0.9 in Active color planes            \dotfill 8.7.8.8 }
  352. \hbox to 6 in { \hskip 0.5 in Help menu                      \dotfill 8.8.0 }
  353. \hbox to 6 in { \hskip 0.5 in Miscellaneous features         \dotfill 8.9.0 }
  354. \hbox to 6 in { \hskip 0.7 in Frame rate test                \dotfill 8.9.1 }
  355. \hbox to 6 in { \hskip 0.7 in Emergency repair image         \dotfill 8.9.2 }
  356. \hbox to 6 in { \hskip 0.7 in Erase image                    \dotfill 8.9.3 }
  357. \hbox to 6 in { \hskip 0.7 in Sketch mode                    \dotfill 8.9.4 }
  358. \hbox to 6 in {               Windows and OS/2 compatibility \dotfill 9.0.0 }
  359. \hbox to 6 in {               Changing Computers             \dotfill 10.0.0 }
  360.  
  361. \hbox to 6 in {               Problems                       \dotfill 11.0.0 }
  362. \hbox to 6 in {               Limitations and known bugs     \dotfill 12.0.0 }
  363. \hbox to 6 in {               Error messages                 \dotfill 13.0.0 }
  364. \hbox to 6 in {    Trademark disclaimers and acknowledgements\dotfill 14.0.0 }
  365.  
  366. \vfill
  367. \bigskip
  368. \hrule
  369. \eject
  370.  
  371.  
  372.  
  373. \bigskip
  374. \hrule\bigskip
  375. \bbc\ { 2.2.0  Summary  }
  376. \bigskip
  377. \hrule\bigskip
  378. \rm
  379.  
  380.   TN-Image allows you to scan, view, edit, and print PCX, IMG, TIF (both     
  381.   Macintosh and PC), JPEG, BMP, GIF, and TGA images, of any depth     
  382.   between 1 and 32 bits per pixel, color or monochrome, as well as raw
  383.   binary images, raw 3D, and user-definable image formats.  You can edit,      
  384.   cut/paste, add text, adjust color intensity or contrast, superimpose
  385.   multiple images, and create drawings using lines, circles, splines  
  386.   and Bezier curves. It handles 8 bit/pixel (indexed-color), as well  
  387.   as 15,16, 24 and 32-bit per pixel screen modes. In the indexed-color 
  388.   modes, you can change the color map to one of 10,000 pre-defined
  389.   colormaps or graphically create a new one. TN-Image is completely    
  390.   menu-driven with an extremely user-friendly graphical user          
  391.   interface. Dialog boxes and graphs can all be clicked-and-dragged to
  392.   one side so as not to obscure the image. Image size is limited only 
  393.   by available memory or disk space (whichever is greater).  Image 
  394.   transparency can be easily adjusted.
  395.  
  396.   TN-Image is particularly useful for scientific image analysis,      
  397.   with densitometry, background subtraction, molecular weight calibration,
  398.   and automatic detection of peaks, bands and spots in your   
  399.   image for quantitative measurement of optical density. Images deeper 
  400.   than 8 bits/pixel, such as medical grayscale images, can be viewed  
  401.   with a sliding scale to enhance any particular intensity region.    
  402.   Images can be rotated, resized, warped, flipped, color-remapped, or 
  403.   filtered (with sharpening, blurring, edge enhancement,   
  404.   freeze-fracture effect (shadow  sharpening), background subtract, or 
  405.   noise filter). Quantitative data, peak area tables, or color histograms 
  406.   can be exported to an ASCII file with a single mouse click.   
  407.  
  408.   Areas or parts of images can be filled with a solid color or a color
  409.   gradient, copied to another region, superimposed, subtracted, XOR'd,
  410.   added, averaged or erased. All operations function seamlessly across
  411.   multiple images regardless of their color depth. Images can be up-  
  412.   or down-converted into a different color depth.                     
  413.  
  414.   It is particularly useful to biochemists and molecular biologists   
  415.   who wish to analyze SDS gels, blots, and DNA gels. The blot can     
  416.   simply be scanned in a scanner, then labeled, analyzed, quantitated, 
  417.   and printed on a  
  418.   laser printer. Printed blot images and quantitative results have    
  419.   already appeared in several scientific papers. The print quality    
  420.   is optimized for high resolution, and gives extremely high quality  
  421.   output on a laser or inkjet printer up to 2400 dpi.                 
  422.  
  423.   Images can be Fourier-transformed and the real or imaginary components 
  424.   can be viewed, edited and modified. Pairs of images can also be
  425.   convoluted and deconvoluted. Power spectra can also be viewed.      
  426.  
  427.   TN-Image can use up to 2GB of extended and virtual memory. Up to 512
  428.   images can be viewed and edited simultaneously. The program requires
  429.   an 80386 with a minimum of 4MB of RAM, DOS 3.2 or above or a supported
  430.   version of Unix, and a Super
  431.   VGA  monitor. It handles all VESA screen modes, including 1600x1200 
  432.   resolution, in 256, 32768, 65536, and 16 million (true color) modes.
  433.   A mouse is required. Laser or inkjet printer is required for        
  434.   printing. TN-Image can also run in a DOS box under Windows or OS/2  
  435.   if desired.                                                         
  436.  
  437.   Images  can overlap without  interfering  with  each
  438.   other or the  background.  You  can use the mouse to scroll through
  439.   the image in adjustable steps.
  440.  
  441. \vfill\eject
  442. \hrule\bigskip
  443. \bbc\ { 3.0.0  Usage license }
  444. \bigskip
  445. \hrule\bigskip
  446. \bbb             NOTICE
  447. \bigskip
  448. \hrule\bigskip
  449. \it
  450. \par
  451.  
  452.    The author makes no claims or warranties concerning the accuracy 
  453.    of the information presented herein, including, but not limited to,
  454.    any implied warranties of fitness or suitability for any purpose 
  455.    and is not responsible for any loss, damage, inaccurate medical
  456.    diagnosis, or personal injury of any kind occurring out of or in 
  457.    connection with the use of this product. In no event shall the author, 
  458.    or any other party who may have redistributed the product as permitted below, be 
  459.    liable for any damages, including any general, special, incidental, or 
  460.    consequential damages arising out of the use or inability to use this 
  461.    product, including but not limited to loss of data or data being
  462.    rendered inaccurate or losses sustained by you or third parties or 
  463.    any failure of the product to operate with any other programs, even 
  464.    if such holder or other party has been advised of the possibility of 
  465.    such damages.
  466.  
  467. \rm
  468. \bigskip\hrule\bigskip
  469.  
  470.    The Unix versions and the DOS Shareware version of TN-Image, including 
  471.    this manual, may be
  472.    freely redistributed, copied, and uploaded to computer networks or 
  473.    bulletin boards without restriction, provided that the following 
  474.    conditions are met:
  475.  
  476.    (1) This documentation file and all other files included in the 
  477.    TN-Image package, including the sample images and tutorial files,
  478.    must be included in their entirety whenever the program is distributed. 
  479.    Any modifications of the documentation must be clearly indicated as such. 
  480.  
  481.    (2) The executable file must not be modified in any way
  482.    without express written permission from the author.
  483.  
  484.    (3) No algorithm used in this program or any part of the user
  485.    interface may be patented or trademarked by any party. 
  486.  
  487.    (4) No additional restrictions  may be added to the above-mentioned
  488.    limitations. In particular, vendors, end users and distributors may  
  489.    not be prohibited from distributing, uploading, or using the shareware 
  490.    version of this package without any charge or restriction other
  491.    than those stated in this license.
  492.  
  493.    (5) The DOS Shareware version of TN-Image may also be distributed in 
  494.    any form, including CD-ROM,
  495.    on a commercial for-profit basis, as long as the package is clearly
  496.    marked as being ``shareware'' or ``containing shareware items''.
  497.    No restrictions are placed on distribution of the Unix version.
  498.  
  499.    In contradistinction to conditions (4) and (5) above, the DOS registered 
  500.    version of TN-Image may not be distributed by any party without the 
  501.    express written permission from the author. Inquiries regarding site 
  502.    licenses, from commercial enterprises wishing to market this program,
  503.    or persons wishing to obtain a customized version of the program on
  504.    a contract basis should be directed to the above mail or e-mail address.
  505.  
  506.  
  507. \vfill\eject
  508. \hrule\bigskip
  509. \bbc\ { 3.0.1  Source code usage license }
  510. \bigskip
  511. \hrule\bigskip
  512.  
  513. \bba  No Warranty
  514. \rm
  515.  
  516. This source code is provided with no warranty of any kind. No
  517. guarantee is made that this software will even compile or execute 
  518. properly on any given machine after compilation. The author retains 
  519. copyright on all files except xmtnimage16.cc, which is largely derived 
  520. from the work of the Independent JPEG group. The distribution of the JPEG 
  521. interface source code in xmtnimage16.cc is covered under the GNU General 
  522. Public License (GPL) which may differ in some details from this License. 
  523. A copy of the GPL is included in the file ``GPL''.
  524.  
  525. End users are encouraged to use the pre-compiled versions of this
  526. program if possible rather than compiling this source code. Pre-compiled
  527. versions are available by anonymous ftp at las1.\-ninds.\-nih.\-gov for the
  528. following platforms:  MS-DOS, ConvexOS, Linux (x86), Solaris (Ultra Sparc), 
  529. and SGI Irix. Should you wish to compile the source code, Motif and a 
  530. \tt libjpeg \rm library and their corresponding include files
  531. must be previously installed.  \tt libjpeg \rm 
  532. is available from ftp.uu.net.  Motif is a commercial product available 
  533. from numerous sources. It may also be necessary to modify the files 
  534. \tt xmtnimage.h \rm and \tt makefile \rm.
  535.  
  536. \vskip 0.2 in
  537. \bba Usage license
  538.  
  539. \rm
  540.  
  541. \item{1.} No portion of this software, including the user interface, or any 
  542.    algorithm used herein, may be patented or trademarked by any party. 
  543.    This public release of the source code is to be construed as 
  544.    ``prior art'' for all such algorithms.   
  545.  
  546. \item{2.} Any public redistribution of the software must include all the files
  547.    listed above as part of TN-Image, as well as the manual (tnimage.ps
  548.    and/or tnimage.tex) and a copy of this Usage License, and must be
  549.    distributed in an unmodified form unless specifically authorized in 
  550.    writing by the author. Authorization in writing must also be obtained
  551.    before distributing or marketing ports of this software to Windows or 
  552.    to other operating systems. This does not apply to redistributions of 
  553.    existing pre-compiled versions which do not have to be accompanied by 
  554.    the source code.
  555.  
  556. \item{3.} Incorporation of small portions of this source code into other programs, 
  557.    including freeware, shareware, or commercial programs, is permitted
  558.    provided that (a) acknowledgement of authorship by Thomas J. Nelson
  559.    is included appropriately in the documentation and in all copies of 
  560.    the source code derived from this work and (b) the source code of 
  561.    the derived work is made available without charge or for a nominal 
  562.    fee not to exceed the cost of duplication.
  563.    
  564. \item{4.} No additional restrictions other than those described above may be 
  565.    placed on works derived from this software. In particular, vendors, 
  566.    end users and distributors may not be prohibited from distributing, 
  567.    uploading, or using this package without any charge or restriction 
  568.    other than those stated in this License.
  569.  
  570.             
  571.  
  572.  
  573. \bigskip
  574. \hrule\bigskip
  575. \vfill\eject
  576. \hrule\bigskip
  577. \bbc\ { 3.1.0   Summary of features in different versions}
  578. \bigskip\rm
  579. \hrule\bigskip
  580.  
  581. \settabs 9 \columns
  582. \smallskip\hrule\smallskip
  583. \+                       & & &DOS       &DOS         &      &      &        &        \cr
  584. \+ Feature               & & &Shareware &Registered  &Linux &Irix  &Solaris   &ConvexOS\cr
  585. \vskip 0.05in 
  586. \hrule
  587. \vskip 0.05in 
  588. \+ Max. images           & & &2         &512         &512     &512    &512       &512     \cr
  589. \+ Image editing         & & &x         &x           &x       &x      &x         &x       \cr
  590. \+ Image conversion      & & &x         &x           &x       &x      &x         &x       \cr
  591. \+ Format conversion     & & &x         &x           &x       &x      &x         &x       \cr
  592. \+ Labeling              & & &x         &x           &x       &x      &x         &x       \cr
  593. \+ Drawing               & & &x         &x           &x       &x      &x         &x       \cr
  594. \+ Multiple fonts        & & &          &            &x       &x      &x         &x       \cr
  595. \+ Image algebra         & & &          &x           &x       &x      &x         &x       \cr
  596. \+ Grayscale images $>$ 8 bits & & &x   &x           &x       &x      &x         &x       \cr
  597. \+ Histograms            & & &x         &x           &x       &x      &x         &x       \cr
  598. \+ Selectable color planes & & &x       &x           &x       &x      &x         &x       \cr
  599. \+ Image calibration     & & &x         &x           &x       &x      &x         &x       \cr
  600. \+ TIFF                  & & &x         &x           &x       &x      &x         &x       \cr
  601. \+ TGA                   & & &x         &x           &x       &x      &x         &x       \cr
  602. \+ BMP                   & & &x         &x           &x       &x      &x         &x       \cr
  603. \+ IMG                   & & &x         &x           &x       &x      &x         &x       \cr
  604. \+ PCX                   & & &x         &x           &x       &x      &x         &x       \cr
  605. \+ GIF                   & & &x$^1$     &x$^1$       &x       &x      &x         &x       \cr
  606. \+ Raw                   & & &x         &x           &x       &x      &x         &x       \cr
  607. \+ ASCII                 & & &x         &x           &x       &x      &x         &x       \cr
  608. \+ Custom image formats  & & &          &x           &x       &x      &x         &x       \cr
  609. \+ JPEG                  & & &          &x           &x       &x      &x         &x       \cr
  610. \+ 3D                    & & &          &            &x       &x      &x         &x       \cr
  611. \+ Densitometry          & & &          &x           &x       &x      &x         &x       \cr
  612. \+ Fourier transform     & & &          &x           &x       &x      &x         &x       \cr
  613. \+ Deconvolution         & & &          &x           &x       &x      &x         &x       \cr
  614. \+ Selectable colormaps  & & &2         &10000       &10000   &10000  &10000     &10000   \cr
  615. \+ Filters               & & &2         &13          &13      &13     &13        &13       \cr
  616. \+ Virtual memory        & & &          &x           &x       &x      &x         &x       \cr
  617. \+ Peak Area analysis    & & &          &x           &x       &x      &x         &x       \cr
  618. \+ PCL Printing          & & &          &x           &x       &x      &x         &x       \cr
  619. \+ PostScript Printing   & & &          &x           &x       &x      &x         &x       \cr
  620. \+ Macro language        & & &          &x           &x       &x      &x         &x       \cr
  621. \+ Image transparency    & & &          &            &x       &x      &x         &x       \cr
  622. \+ Chroma-keying         & & &          &            &x       &x      &x         &x       \cr
  623. \+ Scanner interface     & & &          &            &x       &x      &x         &        \cr
  624. \+ Plugins               & & &          &            &x       &x      &          &        \cr
  625. \+ User-defined buttons  & & &          &            &x       &x      &x         &x       \cr
  626.  
  627. \vskip 0.05in 
  628.  
  629.  
  630. \hrule
  631. \vskip 0.05in 
  632. $^1$ Read-only due to patent restrictions. 
  633.  
  634. \bigskip
  635. \vfill\break
  636. \hrule\bigskip
  637. \bbc { 3.2.0  Submitting bug reports  }
  638. \bigskip
  639. \hrule\bigskip
  640. \par\rm
  641.    If TN-Image crashes, hangs, draws the screen incorrectly or fails
  642.    to read or write a valid image, it is probably a bug. If it causes
  643.    some other undesired effect (such as starting World War III), this
  644.    is also a bug (\it Note: \rm this should not happen in normal use).
  645.    I would greatly  appreciate receiving bug reports from all  
  646.    users. Bug reports should be sent to the above Internet e-mail address 
  647.    for fastest response, or alternatively to the P.O. box listed above.  
  648.    If you send a bug report, please run the command ``tnimage -diag'' first 
  649.    and write down any relevant information. Also indicate your computer 
  650.    type, video card, and monitor type, what resolution you are trying to 
  651.    use, and the operating system and OS version you are using, and any 
  652.    other relevant information.  Most importantly, indicate what version 
  653.    of TN-Image you are using, the size and type of image involved, and the 
  654.    sequence of actions that cause the problem. If the problem only occurs 
  655.    with a specific image, you may also need to send a copy of the image file. 
  656.    The easiest way to do this is to upload it by ftp into the `pub/incoming' 
  657.    directory on las1.ninds.nih.gov. All bug reports will receive immediate 
  658.    attention. If you are a registered user of the DOS version, you will 
  659.    also receive a replacement disk if I am able to reproduce the bug.
  660. \bigskip
  661.  
  662.  
  663.  
  664. \bigskip
  665. \hrule\bigskip
  666. \bbc { 4.0.0  Upgrade policy }
  667. \bigskip
  668. \hrule\bigskip
  669.  
  670. \rm
  671.    Registered users of the DOS version can obtain the latest version at 
  672.    any time by ftp at a special ftp account.
  673.    Read the file TNIMAGE.NEW, available at the ftp site, for news about 
  674.    the latest features and changes in TN-Image.
  675.    The latest Unix version(s) are also freely available at the ftp site.
  676.  
  677.  
  678. \bigskip
  679. \hrule\bigskip
  680. \vfill\eject
  681. \hrule\bigskip
  682. \bbc { 5.0.0   System  Requirements (DOS Version)  }
  683. \bigskip
  684. \hrule\bigskip
  685. \rm
  686.  
  687.   TN-Image has the following minimum system requirements:
  688.  
  689. \parindent 0.5 in
  690.    DOS Version:
  691.  
  692.    1. MS- or PC-DOS above version 3.2 or Windows.   
  693.  
  694.    2. A minimum of 4 MB of RAM, preferably 8 MB. 8MB is strongly recommended
  695.    and may be required in future versions (If you have 4 MB of RAM 
  696.    or less, see \it Operating under low-memory conditions \rm below).
  697.  
  698.    3. A computer with an 80386 or higher CPU. 
  699.  
  700.    4. A Super VGA card with at least 1 MB of video memory, and capable
  701.    of handling 256 or more colors. 
  702.  
  703.  
  704. \rm
  705. \par\parindent 0.5 in
  706.  
  707.    5. A super VGA monitor capable of displaying 256 colors. The
  708.    default screen mode for TN-Image is 800 x 600 pixels. If you don't
  709.    know whether your monitor can display at this resolution, it is
  710.    advisable to check first, either in your monitor documentation, or
  711.    using the diagnostics program that should have come with your video 
  712.    card. WARNING: It is the responsibility of the video card, not this
  713.    program, to determine whether your monitor can handle any given screen
  714.    mode. The only way for the program to determine whether it is safe to
  715.    set a given screen mode is to query your video card. Unfortunately,
  716.    not all video cards respond with accurate information. If your video 
  717.    card supports this screen mode but your monitor doesn't, you could
  718.    experience a computer crash or even (theoretically) damage your 
  719.    monitor. This has never happened in all the months of extensive 
  720.    testing of the program on a variety of monitors. Nonetheless: 
  721.  
  722. \bf
  723. \parindent 20 pt
  724.  
  725.       THE AUTHOR ASSUMES NO RESPONSIBILITY FOR PROBLEMS
  726.       CAUSED BY RUNNING THIS PROGRAM IN A COMPUTER WHICH HAS A
  727.       SUPER VGA CARD ATTACHED TO A REGULAR (NON-SUPER VGA) MONITOR!
  728.  
  729. \rm
  730.  
  731.    If you have a super VGA monitor but it cannot handle 800x600 pixel
  732.    mode, TN-Image can also use other video modes. See ``Command-line
  733.    options'' below.
  734.  
  735. \parindent 0.5 in
  736.    6. A mouse. It is advisable to obtain a mouse driver that is 
  737.    compatible with super VGA modes, such as Logitech's mouse driver 
  738.    version 6.12 or later. Earlier mouse drivers will work, but you 
  739.    will not have as fine control of the mouse as with later versions. 
  740.    A mouse driver is needed even if TN-Image is run in a Windows DOS box.
  741.  
  742.    7. TN-Image should be run from a hard disk. If run from a floppy, do
  743.    not remove the floppy while the program is running.
  744.  
  745.    8. A PCL laser or inkjet printer or PostScript Level 2 printer is required 
  746.    to obtain hard copies. (H/P 
  747.    Laserjet compatible or a similar 600 dpi laser printer is recommended).
  748.    A 300 dpi printer will also work, but will give inferior quality prints. 
  749.    A H/P compatible color laser or inkjet printer is required for color 
  750.    printing.
  751.  
  752. \bigskip
  753. \hrule\bigskip
  754. \bbc { 6.1.0  Image file types supported   }
  755. \bigskip
  756. \hrule\bigskip
  757. \rm
  758.      
  759.    TN-Image reads and writes image files in TIF, JPEG, PCX, TGA, BMP, as 
  760.    well as the IMA format produced by NPLOT (available at the ftp site)
  761.    and the IMG format produced by frame-grabbers, 
  762.    as well as GEM IMG and several others listed below. Any other generic 
  763.    uncompressed file type can also be read, provided that:
  764. \item{1.}
  765.        you know the number of x and y pixels in the image
  766. \item{2.}
  767.        you know the no. of bits per pixel.
  768. \item{3.}
  769.        the image stores its pixels in the usual scanning order (left 
  770.         to right, top to bottom).
  771. \par\parindent 20 pt
  772.    In addition, you can create new image file formats to read and write
  773.    images in virtually any uncompressed format that uses fixed-size
  774.    headers.
  775.  
  776.    The IMG format produced by TN-Image is the same as that produced by
  777.    most frame grabbers: 4 bytes indicating the x and y size, followed 
  778.    by the image data.  This is not the same as the GEM ``IMG'' format, 
  779.    which is seldom used for image analysis. TN-Image can read GEM IMG 
  780.    Raster files, however.
  781.  
  782.    For densitometry, it is recommended that images be stored in TIF 
  783.    format because this format allows the image to provide a calibration 
  784.    curve to accurately convert pixel intensity to optical density (O.D.). 
  785.    This is important for quantitative applications. Most scanners provide 
  786.    this information. If not, TN-Image will still function, but the results 
  787.    will be in uncorrected pixel intensity values instead of O.D. (This 
  788.    consideration does not apply for color images).
  789.  
  790. \bf
  791.    ***NOTE*** Targa (TGA) files must have the extension .TGA to be readable.
  792. \par\bigskip
  793.    ***NOTE ON COMPRESSED TIF FILES***
  794.  
  795. \it
  796.    As of Version 2.11, creation of compressed TIF image files is not 
  797.    supported in TN-Image.  LZW- and PackBits-compressed TIF files are,
  798.    however, readable.  The reason for this discrepancy is the choice 
  799.    by Aldus Corporation of LZW compression, which is patented by Unisys, 
  800.    for the compression algorithm.  The most recent TIFF documentation 
  801.    indicates that LZW is now being phased out of TIFF. This means that 
  802.    LZW-compressed TIF files will no longer be a valid image format.
  803. \par\bigskip
  804. \rm
  805.    The following file subtypes/features in all valid permutations have 
  806.    been tested to be readable by TN-Image:
  807.  
  808.    Tiff files:
  809.       1 to 32 bit/pixel TIF-B,G,P, and R files
  810.       (B=black/white, G=gray scale, P=indexed color, R=RGB full color)
  811.             Tiles/Strips/CMYK
  812.             Intel and Macintosh TIF
  813.  
  814.           PCX files:
  815.  
  816.             1,2,4,and 8 bit/pixel PCX
  817.  
  818.           IMG files:  
  819.             1,2,4,and 8 bit/pixel IMG
  820.  
  821.          Other:  
  822.  
  823.             4 bit IMA  (from VGA or EGA mode NPLOT and NPDATA)
  824.             Unformatted 1 to 32 bit/pixel raw binary images (color
  825.               and monochrome)
  826.  
  827.           JPEG:
  828.  
  829.             Color JPG (JFIF)     (registered version only)
  830.  
  831.           Targa: 
  832.  
  833.             8, 16, and 24 bit/pixel TGA
  834.  
  835.          BMP:
  836.  
  837.             4,8, and 24 bit BMP (Windows 3.x subtype)
  838.  
  839.           GIF
  840.  
  841.           GEM IMG   
  842.  
  843.           Raw 3D  (Unix version only)
  844.         
  845.           XWD X-Window screendump (8,15,16,24, and 32 bits/pixel) (Unix version only)
  846.           
  847. \bigskip
  848.     
  849.    The following file subtypes can be created by TN-Image:
  850.  
  851.             1 to 32 bit PC TIF-B,G,P,and R, incl. CMYK extension(uncompressed)
  852.  
  853.             1 to 32 bit raw bytes
  854.  
  855.             1 to 32 bit custom files for PC, Mac, and MVS mainframe OS's
  856.  
  857.             1 and 8 bit PCX
  858.  
  859.             1 and 8 bit IMG
  860.  
  861.             24 bit JPG (JFIF subtype)  (registered version only)
  862.  
  863.             8,16, and 24 bit TGA
  864.  
  865.             8 and 24 bit BMP (Windows 3.x subtype)
  866.            
  867.             8,15,16,24, and 32 bit ASCII
  868.  
  869.             8,15,16,24, and 32 bit raw 3D (Unix version only)
  870.             
  871. \par\bigskip  
  872.    The following file types may be also supported if enough requests are 
  873.    received:
  874.    
  875.             Creation of 1 to 32 bit Mac TIF
  876.  
  877.             OS/2 BMP
  878.  
  879.             PNG
  880.  
  881.  
  882.  
  883. \par
  884. \hfill\eject
  885. \bigskip
  886. \hrule\bigskip
  887. \bbc { 6.2.0   Pixel values and image manipulation  }
  888. \bigskip
  889. \hrule\bigskip
  890. \rm
  891.  
  892. \bf   Image types
  893. \rm
  894. \vskip 0.05 in
  895.  
  896. Images fall into 3 distinct categories:
  897.  
  898. \item{1.} Grayscale: Pixel values directly correspond to intensity.
  899.    There may in addition be a table mapping each intensity to an
  900.    optical density value. 
  901.      
  902. \item{2.} Indexed-color:  Pixel values have no intrinsic meaning and are 
  903.    merely indexes into a color map containing 256 colors in a random
  904.    sequence which is totally different for each image. 
  905.    
  906. \item{3.} Color: Pixel values are a composite number containing intensities 
  907.    of red, green, and blue. The number of bits of each color is different
  908.    for each standard image depth (\it i.e., \rm 15, 16, 24, 32, and 48 bits/pixel).
  909. \vskip 0.05 in
  910.  
  911.    Each image type has benefits and drawbacks. For example, cutting
  912.    and pasting among different indexed-color images requires finding
  913.    the closest matching colors.  If the color maps are too different,
  914.    the pasted image will not have the same color as the original. 
  915.    This problem can be avoided by converting the images to true color
  916.    first, then converting back to the original image type afterwards. 
  917.    Similarly, densitometry and FFT only work well on grayscale
  918.    images. Before performing FFT's, it is necessary to convert color 
  919.    images to grayscale. For indexed-color images, the additional step
  920.    of sorting the colormap is necessary to ensure that pixel values 
  921.    bear a linear correspondence to intensity. Converting grayscale images
  922.    to color involves optionally defining or selecting a colormap and converting 
  923.    the image to indexed color, and then converting it to true color. All of these 
  924.    operations can be done (and automated) in TN-Image.
  925.       
  926.  
  927.    When you move the mouse in TN-Image, the information area
  928.    shows the x and y coordinates and the value of the pixel at the 
  929.    mouse position. This is convenient when manipulating the image, since 
  930.    much image manipulation uses simple mathematical functions to transform
  931.    the image. Thus, to make the image lighter, you could ``add'' a value
  932.    of 50 to each pixel. To increase contrast, you can multiply each
  933.    pixel value by a constant factor. In contrast to some programs on some
  934.    other operating systems, these steps are not hidden from 
  935.    the user merely for the sake of ease of use. This ensures that quantitative
  936.    manipulations on the image remain directly traceable to the
  937.    original data. 
  938.  
  939. \vfill
  940. \eject
  941. \bigskip
  942. \hrule\bigskip
  943. \bbc { 6.3.0  Description of Menu Bars (DOS Version)  }
  944. \bigskip
  945. \hrule\bigskip
  946. \rm
  947.         
  948.        TN-Image displays a variety of information in the information area. 
  949.        In the DOS version, this consists of two lines of text at the top
  950.        of the screen. One
  951.        or both of these lines can be hidden to create a less cluttered
  952.        display. The menus are still active even when the menu bars are
  953.        hidden.
  954.  
  955.        Top line:
  956.  
  957. \parindent 0.5 in
  958.            File  Image..etc    - The main menus - use the mouse to select
  959.                                  the desired option.
  960.  
  961.                               - Foreground color indicator
  962.  
  963.                                - Clicking on these small triangles will
  964.                                  move the topmost image in the indicated
  965.                                  direction. The distance is determined
  966.                                  by the ``Cursor movement rate'' (see below).
  967.  
  968.            r255g255b255        - The red, green, and blue components of
  969.                                  the current pixel, i.e., the pixel the
  970.                                  mouse is pointing to. For 8 bit/pixel
  971.                                  images, the red, green, and blue components
  972.                                  of the colormap entry for that color are 
  973.                                  shown.
  974.  
  975.            i=32767             - The intensity value of the current pixel,
  976.                                  This is only displayed if TN-Image is in
  977.                                  a mode with a wide enough screen width.
  978.                                  This value will be different for images
  979.                                  with different numbers of bits per pixel.
  980.  
  981.        Second line:
  982.  
  983.            0.12345             - The current pixel value, scaled from 0 to 1
  984.                                  and corrected for bits/pixel of the point.
  985.  
  986.            123 456             - The next 2 numbers are the x and y 
  987.                                  coordinates of the current pixel.
  988.  
  989.            Size 8              - The cursor movement rate. This is the 
  990.                                  distance by which the mouse will move when 
  991.                                 an arrow key is pressed, and the distance 
  992.                                  an image will move when you click one of 
  993.                                  the small triangles. The cursor size can 
  994.                                  be changed  by pressing the gray (+) or (-) 
  995.                                  keys, or selecting ``Configure...
  996.                                  Cursor movement rate''.
  997.  
  998.            8 bpp               - The bits per pixel of the current pixel,
  999.                                  calculated for the topmost image.
  1000.  
  1001.            16 bits/pixel       - The rightmost item is the bits/pixel of
  1002.                                  the screen.                      
  1003.  
  1004.     \boxtext{ Vertical }    
  1005.                                - A click box is visible when the program
  1006.                                  is in a state such as ``vertical text'' mode
  1007.                                  or ``drawing'' mode. Clicking on this box
  1008.                                  returns to normal mode.
  1009. \parindent 20 pt
  1010.  
  1011. \vskip 0.5 in
  1012.  
  1013.  
  1014.  
  1015.  
  1016.  
  1017. \bigskip
  1018. \hrule\bigskip
  1019. \bbc { 6.3.1  Description of Menu Bars (Unix Version)  }
  1020. \bigskip
  1021. \hrule\bigskip
  1022. \rm
  1023.  
  1024.    In the Unix version, the menu bar automatically
  1025.    wraps to multiple lines if there is not enough space. The program 
  1026.    window can be resized so that only the main information window and the menu bar
  1027.    are visible. Images can then be loaded into separate, positionable windows.
  1028.    On occasion, it is necessary to quit and restart TN-Image after resizing the 
  1029.    window to obtain a multi-line menu bar.
  1030.    
  1031.    The Motif menus can be ``torn off'' and dragged to one side. Thus, it is
  1032.    possible, for example, to have one or more of the menus on the screen 
  1033.    permanently and  then shrink the main window to an inconspicuous size.
  1034.  
  1035.    Clicking on one of the four large arrows in the information area moves the
  1036.    current image in the direction of the arrow. The distance moved is determined
  1037.    by the ``step value'' which can be changed by the gray + and -- keys (KP\_add
  1038.    and KP\_subtract) or in the ``Config'' dialog.
  1039.    
  1040.    The main cancel button is always active and interrupts many repetitive 
  1041.    operations, such as flood fill, densitometry, circle-drawing mode, etc.              
  1042.  
  1043.    The main paste button copies all opaque pixels in the currently-selected 
  1044.    region onto whatever is beneath it.
  1045.  
  1046. \vfill\eject
  1047.  
  1048. \hrule\bigskip
  1049. \bbc { 6.4.0 Tutorial files }
  1050. \bigskip
  1051. \hrule\bigskip
  1052. \rm
  1053.  
  1054.    Five tutorial files are included with TN-Image:  
  1055. \item    1  DENSITOM.PCX - an image file demonstrating strip densitometry.
  1056. \item    2  DENSITO2.TIF - an image file demonstrating spot densitometry.
  1057. \item    3  DECONVOL.TIF - an image file demonstrating convolution and 
  1058.                      deconvolution using FFT (Part 1).
  1059. \item    4  DECONVO2.TIF - an image file demonstrating convolution and 
  1060.                      deconvolution using FFT (Part 2). (Included in
  1061.                      registered version).
  1062. \item    5  FILTER.TIF - an image file demonstrating digital filtering 
  1063.                      using FFT.
  1064. \vskip 0.05 in
  1065. \item{}  Also see Section 8.3.12.2, ``Macro Programming Guide'' in this manual.
  1066.  
  1067. \bigskip\hrule
  1068. \vfill\eject
  1069. \hrule\bigskip
  1070. \bigskip
  1071. \bbc { 7.0.0   Operation  }
  1072. \bigskip
  1073. \hrule\bigskip
  1074. \rm
  1075.    
  1076.    (DOS version) - 
  1077.    To start TN-Image, type TNIMAGE. If VESA BIOS is present, TN-Image
  1078.    will run using the functions defined in the VESA specification.
  1079.    Otherwise, TN-Image will try to use video card-specific functions.
  1080.    If no VESA BIOS is present and the card is unsupported, TN-Image
  1081.    will terminate. VESA 1.2 or above is required to run in 15-, 16-,
  1082.    24-, and 32-bit/pixel color modes, since in the earlier VESA 
  1083.    specification, modes 110 to 11b were text modes. 
  1084.  
  1085.  
  1086. \bigskip\hrule\bigskip
  1087. \bbb { 7.1.0   Command-line options  (DOS version) }
  1088. \bigskip
  1089. \hrule\bigskip
  1090. \rm
  1091.  
  1092. \tta   
  1093.       -n  
  1094. \rm    
  1095.                 =  Skip introductory screen in 8-bit modes.
  1096.  
  1097. \tta
  1098.       -vesa 
  1099. \rm
  1100.                 =  forces TN-Image to use VESA BIOS even for Trident or
  1101.                    Tseng Labs cards.
  1102.  
  1103. \tta
  1104.       -oldvesa
  1105. \rm
  1106.                 =  forces TN-Image to use functions for version 1.0 VESA 
  1107.                    BIOS (slightly slower, but required on some cards).
  1108.  
  1109. \tta
  1110.       -trident
  1111. \rm 
  1112.                 =  Forces TN-Image to use Trident-specific calls, even
  1113.                    if VESA BIOS is present. 
  1114.  
  1115. \tta
  1116.       -tseng
  1117. \rm
  1118.                 =  Forces TN-Image to use Tseng-specific calls, even if
  1119.                    VESA BIOS is present.
  1120.  
  1121. \tta
  1122.       -diamond
  1123. \rm
  1124.                 =  Forces TN-Image to use Tseng-specific calls, even if
  1125.                    VESA BIOS is present and sets the program to use
  1126.                    Diamond Speedstar mode. This option is experimental and
  1127.                    will be subsumed under the ``Tseng'' option after we obtain 
  1128.                    a Tseng-based Diamond card for testing. Feedback as to 
  1129.                    whether this option actually works will be appreciated.
  1130.  
  1131. \tta
  1132.       -w32    
  1133. \rm
  1134.                 =  Forces TN-Image to use Tseng-specific calls, even if
  1135.                    VESA BIOS is present and sets the program to use
  1136.                    W32 chip mode. This option is experimental and
  1137.                    will be subsumed under the ``Tseng'' option after we obtain 
  1138.                    a card with the Tseng ET4000W32 chip for testing.
  1139.                    Feedback as to whether this option works will be 
  1140.                    appreciated.
  1141.  
  1142. \tta
  1143.       -S3, -ATI, -XGA    
  1144. \rm
  1145.                 =  Force TN-Image to control these chips directly, even if
  1146.                    VESA BIOS is present.
  1147.           S3 and ATI are not currently implemented. XGA mode currently only works
  1148.           in 640 x 480 mode. 
  1149.  
  1150.  
  1151. \tta
  1152.       -diag , -diagnose   
  1153. \rm
  1154.                 =  Diagnostic mode (Prints status messages at each stage
  1155.                    of setting your video mode). Useful if you have 
  1156.                    difficulty starting TN-Image on your computer. At each 
  1157.                    step, you need to press a key to continue.
  1158. \bf         Please report this information when requesting 
  1159.                    technical assistance.
  1160. \rm
  1161.  
  1162. \tta
  1163.       -fyu     
  1164. \rm
  1165.                 =  This option is for debugging use only.
  1166.        
  1167. \tta
  1168.       -macro
  1169. \it  macro\_file
  1170. \rm
  1171.                 =  Automatically runs the specified macro file. See ``Batch
  1172.                    mode processing''
  1173. \tta
  1174.       -files
  1175. \it  file\_list
  1176. \rm
  1177.                 =  Specifies a list of image files to be automatically
  1178.                    loaded. Using a text editor, create an ordinary text 
  1179.                    file containing a list of the files to be read, with one 
  1180.                    filename on each line, for example:
  1181.  
  1182. \tta           t*.tif
  1183.  
  1184.                            c:$\backslash$ images$\backslash$ abc.bmp
  1185.  
  1186.                            hubble.img
  1187.  
  1188. \rm         Then start TN-Image with the command:
  1189.  
  1190. \tta         tnimage -files test.lst
  1191. \rm
  1192.                    substituting the name of your list for ``test.lst''. Do
  1193.                    not put a dash before the filename of the list file. 
  1194.                    Wildcard characters such as '*' or '?' are also 
  1195.                    permissible. Up to 512 images can be loaded from
  1196.                    the list file (if you have the Registered version).
  1197.                    If you only need to load a few files, it may be easier to
  1198.                    use the \it filename \rm option (below) instead.
  1199.                    
  1200. \tta
  1201.       filename
  1202. \it filename ...
  1203. \rm
  1204.                 =  Reads the specified file(s). You can load as many files
  1205.                    as you can cram onto the command line.
  1206.                    If you have a large number of files, it may be easier
  1207.                    to use the ``-files'' option (above).
  1208.                    Do not precede the filename with a dash (``-''). Filenames
  1209.                    may contain path specifications and wild cards (*  or ?).
  1210.  
  1211. \it       Examples:    
  1212.  
  1213. \tta            tnimage my.gif   
  1214. \rm                                     = Loads my.gif
  1215.                                                         
  1216. \tta            tnimage *.tif    
  1217. \rm                                     = Loads all TIF files in 
  1218.                                                   current directory.
  1219.                                                   
  1220. \tta           tnimage c:$\backslash$images$\backslash$*.tif 
  1221.                                    b:$\backslash$abc.img
  1222. \rm
  1223.                                                 = Loads all TIF files from
  1224.                                                   the C:$\backslash$images directory, 
  1225.                                                   then file abc.img from 
  1226.                                                   drive B.
  1227.                                                   
  1228. \tta          tnimage -mode 103 *.tif -files file.lst -vesa
  1229.  
  1230. \rm                Any combination of command
  1231.                    line options is also acceptable. See \it Screen modes
  1232.                    supported \rm (below) for a list of screen modes.
  1233.  
  1234.  
  1235. \tta
  1236.       -mode
  1237. \rm   xxx
  1238.                 =  Start up in screen mode xxx, where xxx is a
  1239.                    hexadecimal number indicating the desired screen mode
  1240.                    (see below). 
  1241.                    Some monitors cannot handle the highest resolution modes
  1242.                    and will fail to `sync' or display a white screen.
  1243.                    If this happens, press Alt-X two or three times to escape 
  1244.                    from the program. You can determine which screen modes 
  1245.                    your computer can handle by checking in the manual that 
  1246.                    came with your video card and monitor. 
  1247. \bf         Read the warning below before using this option. 
  1248.  
  1249.  
  1250. \it        Example:
  1251. \tta    tnimage -mode 111
  1252.  
  1253.        -xres
  1254. \rm xxx 
  1255.  
  1256.                   = Start up in a VESA screen mode with x resolution of xxx, 
  1257.                    where xxx is the no. of horizontal pixels to display
  1258.                    per scan line. 8 bits/pixel is automatically selected
  1259.                    unless specified with the -bpp option.
  1260.                    Some monitors cannot handle the highest resolution modes
  1261.                    and will fail to `sync' or display a white screen.
  1262.                    If this happens, press Alt-X two or three times to escape 
  1263.                    from the program. You can determine which screen modes 
  1264.                    your computer can handle by checking in the manual that 
  1265.                    came with your video card and monitor.
  1266. \bf         Read the warning below before using this option. 
  1267.  
  1268. \tta
  1269.        -bpp 
  1270. \rm xxx
  1271.                 =  Start up in a VESA screen mode of xxx bits/pixel. (Used
  1272.                    in conjunction with the -xres option).
  1273.  
  1274. \tta ?
  1275. \it    or 
  1276. \tta -? 
  1277. \rm
  1278.                =  List the available screen modes.
  1279.        
  1280.      
  1281.        The options can be in any order, except that if a parameter
  1282.        is needed, it must follow the option.
  1283.        The arguments must be separated by spaces.
  1284.  
  1285.  
  1286. \it
  1287.        Examples: 
  1288. \rm
  1289.        To run TN-Image in VESA 1024x768 mode, type:
  1290.  
  1291. \tta    tnimage -vesa -mode 105 
  1292. \it  Enter \rm   or
  1293.  
  1294. \tta    tnimage -mode 105 
  1295. \rm 
  1296.                                         (The word ``Vesa'' is only
  1297.                                          required if you happen
  1298.                                          to have a Tseng or 
  1299.                                          Trident chip and you 
  1300.                                          want to bypass direct
  1301.                                          chip addressing).   
  1302.  
  1303.        If you have an old card, specifying ``-vesa'' will cause display
  1304.        problems. If problems occur, use:
  1305.  
  1306. \tta
  1307.                     tnimage -oldvesa 
  1308. \rm                 or   
  1309.  
  1310. \tta    tnimage -oldvesa -mode 105 
  1311. \rm  to select 1024x768 mode.
  1312.  
  1313.        To run TN-Image on a computer equipped with a 
  1314.        Trident card, in 640 x 480 mode, type:
  1315.  
  1316. \tta        
  1317.                     tnimage -mode 5d
  1318.  
  1319. \rm                 or
  1320.  
  1321. \tta    tnimage -trident -mode 5d   
  1322. \rm
  1323.        To run TN-Image on a computer equipped with a card
  1324.        containing a Tseng Labs ET4000 chip, in 800 x 600 mode, type:
  1325.  
  1326. \tta        
  1327.                     tnimage -mode 30
  1328. \rm                 or
  1329. \tta    tnimage -tseng -mode 30   
  1330.  
  1331. \rm                    
  1332.        To run TN-Image and automatically load and display
  1333.        the image ``test.img'', type
  1334.  
  1335. \tta        
  1336.                     tnimage test.img
  1337. \rm                 or
  1338. \tta    tnimage -file test.img
  1339.  
  1340. \rm 
  1341.        To run TN-Image in a 1600 x 1200 resolution at 8 bits/pixel, type:
  1342.  
  1343. \tta            
  1344.                     tnimage -xres 1600   
  1345. \rm                 or    
  1346. \tta    tnimage -xres 1600 -bpp 8
  1347. \rm                   
  1348.  
  1349.        To run TN-Image in a 1600 x 1200 resolution at 24 bits/pixel (true
  1350.        color), type:
  1351.  
  1352. \tta            
  1353.                     tnimage -xres 1600 -bpp 24
  1354.  
  1355. \rm                                 
  1356.        The command line options are stored in the file TN-Image.INI,
  1357.        so the next time you start TN-Image, it is not necessary to 
  1358.        specify the screen mode.                          
  1359.  
  1360. \vfill\eject 
  1361.  
  1362.  
  1363. \bigskip\hrule\bigskip
  1364. \bbb { 7.1.1  Unix Command-line options }
  1365. \bigskip
  1366. \hrule\bigskip
  1367. \rm
  1368. \par
  1369.  
  1370. \medskip
  1371. \tta       
  1372.       -macro 
  1373. \it macro\_file
  1374. \rm     =  Automatically runs the specified macro file. See
  1375. \it       Batch mode processing
  1376.  
  1377. \medskip
  1378. \tta
  1379.       -files
  1380. \it file\_list
  1381. \rm
  1382.                 =  Specifies a list of image files to be automatically
  1383.                    loaded. Using a text editor, create an ordinary text 
  1384.                    file containing a list of the files to be read, with one 
  1385.                    filename on each line, for example:
  1386. \tta    
  1387.                            t*.tif
  1388.                            ~/images/abc.bmp
  1389.                            hubble.img
  1390. \rm
  1391.                    Then start TN-Image with the command:
  1392. \tta
  1393.                            tnimage -files test.lst
  1394. \rm
  1395.                    substituting the name of your list for ``test.lst''. Do
  1396.                    not put a dash before the filename of the list file. 
  1397.                    Wildcard characters such as '*' or '?' are also 
  1398.                    permissible. Up to 512 images can be loaded from
  1399.                    the list file.
  1400.                    If you only need to load a few files, it may be easier to
  1401.                    use the \it filename \rm option (below) instead.
  1402.                    
  1403. \medskip
  1404. \it    filename filename ...
  1405. \rm
  1406.                 =  Reads the specified file(s). 
  1407.                    If you have a large number of files, it may be easier
  1408.                    to use the ``-files'' option (above).
  1409.                    Do not precede the filename with a dash (``-''). Filenames
  1410.                    may contain path specifications and wild cards (*  or ?).
  1411.  
  1412.                    Examples:    
  1413. \tta
  1414.                             tnimage my.gif
  1415. \rm                                      = Loads my.gif
  1416.  
  1417. \tta                                                        
  1418.                             tnimage *.tif  
  1419. \rm                                      = Loads all TIF files in 
  1420.                                                    current directory.
  1421.  
  1422. \tta                                                  
  1423.                             tnimage ~/images/*.tif /mnt/abc.img
  1424.  
  1425. \rm
  1426.                                                 = Loads all TIF files from
  1427.                                                   the /images directory, 
  1428.                                                   then file abc.img from 
  1429.                                                   /mnt.
  1430.                                                   
  1431.                                                   Any combination of command
  1432.                                                   line options is also acceptable.
  1433.  
  1434. \tta                   
  1435. \medskip
  1436.        ? , -?   
  1437. \rm               =  List the available options.
  1438.        
  1439. \medskip
  1440. \tta   
  1441.        -fg 
  1442. \rm or
  1443. \tta -foreground
  1444. \rm              = Specify foreground color
  1445.        
  1446. \medskip
  1447. \tta     -bg
  1448. \rm or
  1449. \tta -background 
  1450. \rm = Specify background color
  1451.  
  1452. \it
  1453.             Example: 
  1454. \tta tnimage -fg white -bg MistyRose3 \& 
  1455.  
  1456. \medskip
  1457. \tta                  
  1458.        -geometry
  1459. \it geometry-string
  1460.         
  1461.             Example:
  1462. \tta  tnimage -geometry 400x500+100+100
  1463.  
  1464. \medskip            
  1465.        -display \it screen-IP-address:screen
  1466.  
  1467. \rm       
  1468.             Example: \tta tnimage -display 192.168.1.1:0.0 \&
  1469.             
  1470. \rm              
  1471.        See ' man X ' for more details.
  1472.        The options can be in any order, except that if a parameter
  1473.        is needed, it must follow the option.
  1474.        The arguments must be separated by spaces.
  1475.                     
  1476.        To run TN-Image and automatically load and display
  1477.        the image ``test.img'', type
  1478.  
  1479. \tta        
  1480.                     tnimage test.img
  1481.  
  1482. \rm
  1483.  
  1484.        To run TN-image remotely on a supercomputer and have the display appear on
  1485.        your local PC, type the command:
  1486.        
  1487. \tta             xhost +\it supercomputer\_host\_name \rm
  1488.  
  1489.        Then login to the other computer, and type:
  1490.  
  1491. \tta             tnimage -display \it your\_PC\_hostname\tta:0.0 \&
  1492. \rm where \it your\_PC\_hostname \rm can be a registered host.domain name
  1493.       or an IP number. For example, if you are connected over a ppp link,
  1494.       and \tta ifconfig \rm indicates your IP address to be 156.40.65.151,
  1495.       type:
  1496.  
  1497. \tta      tnimage -display 156.40.65.151:0.0 \& \rm .
  1498.  
  1499. \rm    This can also be done from DOS or Windows using X-Window server software
  1500.        such as Xappeal, Exceed, Chameleon NFS/X, etc.
  1501.  
  1502.        Alternatively, this can be done by setting an environment variable, \it 
  1503.        e.g., \rm
  1504.        
  1505. \tt        setenv DISPLAY 156.40.65.151:0.0  \rm
  1506.  
  1507.        (in tcsh or csh) or
  1508.        
  1509. \tt        export DISPLAY=156.40.65.151:0.0 \rm
  1510.  
  1511.        (in bash, ksh, etc.)   
  1512.        instead of using the ``-display'' option.
  1513.        
  1514.               
  1515.  
  1516. \vfill\eject
  1517. \bigskip\hrule\bigskip
  1518. \bbb { 7.1.2  X Window Resources }
  1519. \bigskip
  1520. \hrule\bigskip
  1521. \rm
  1522. \par
  1523.  
  1524. \it (Unix version only). \rm
  1525. Each of the Motif widgets in TN-Image has resources that can be
  1526. individually set, by specifying the widget's name in your .Xdefaults
  1527. or Tnimage file (in /var/X11R6/lib/app-defaults/). These files also interact 
  1528. with the X Window keymapping which can be changed with \tt xmodmap\rm. 
  1529.  
  1530. As an example, suppose for some bizarre reason it was desired to make
  1531. the 'Del' key actually delete a character. One way of doing this is as follows:
  1532.  
  1533. 1. Create a keymap file: \tt  xmodmap -pke > keymaps \rm
  1534.  
  1535. 2. Edit the line for keycode 91 to read: \tt keycode 91 = 0x004 \rm. (The
  1536.    keycode can be obtained using \tt xev \rm).
  1537.  
  1538. 3. Load the new key translation table:  \tt xmodmap keymaps \rm. Pressing
  1539.    the Del key now creates an 0x004. (You could also use 'Delete' or some
  1540.    valid key name - these are listed in the file /usr/X11/include/X11/keysym.h).
  1541.   
  1542. 4. Edit .Xdefaults in your home directory and add the line: \tt
  1543.  
  1544.    tnimage*Editor*Translations: \#override \bs n \bs
  1545.    
  1546.     \hskip 1 in    $<$Key$>$ 0x4:   delete-next-character() \bs n
  1547.         
  1548.  
  1549.    \rm (Note this must be entered exactly; in particular, the number must
  1550.    be 0x004 in the \tt keymap \rm file but 0x4 in the \tt .Xdefaults \rm
  1551.    file. 
  1552.    
  1553. 5. The change will now take effect in the Macro Editor only. On some systems, 
  1554.    it may be necessary to restart the window manager for the new key to take 
  1555.    effect. Leaving out the ``*Editor'' portion will cause the change to take
  1556.    effect in all Widgets.
  1557.  
  1558. \vskip 0.2 in   
  1559.  
  1560.   Some of the important widgets in TN-Image are:
  1561.    
  1562. \tt   Editor \rm  -  macro editor (Text)
  1563.    
  1564. \tt   MenuBar \rm -  the top menu bar (MenuBar)
  1565.  
  1566. \tt   f1 to f70 \rm - the menu items (PushButton)
  1567.  
  1568. \tt   drawing\_{}area \rm - the main drawing window (DrawingArea)
  1569.  
  1570. \tt   drawing\_{}area2 \rm - the status area at left (DrawingArea)
  1571.  
  1572. \tt   Image \rm- all the images (DrawingArea)
  1573.  
  1574. \tt   List \rm -  list selection boxes (ScrolledList)
  1575.  
  1576. \vskip 0.2 in   
  1577.    
  1578.    Each of these has an extensive set of resources (such as fonts, colors,
  1579.    etc) that can be modified. For instance, Text Widgets have 
  1580.    delete-next-word(), cut-clipboard(), page-left(). Refer to the
  1581.    X Window system manuals for details.
  1582.  
  1583. \vskip 0.2 in   
  1584.     
  1585.    Here are additional examples. More specific settings will override more general
  1586.    ones.
  1587.    
  1588.    \tt tnimage*drawing\_area2*background:green \rm
  1589.    -Sets the left drawing area to ``green''.
  1590.  
  1591.  
  1592.    \tt tnimage*drawing\_area2*background:\#2233AA \rm
  1593.    -Sets the left drawing area to red=22,  green = 33, and blue=AA hex 
  1594.    (34, 51, and 170 decimal, respectively).
  1595.  
  1596.    \tt tnimage*drawing\_area*background:\#223344 \rm
  1597.  
  1598.    \tt tnimage*MenuBar*background:\#223344 \rm
  1599.  
  1600.    To set the main drawing window color, select ``colors...set colors'',
  1601.    then select ``erase background''. 
  1602.  
  1603.  
  1604.    \tt tnimage*marginHeight: 0  \rm Sets the height of the margin in all widgets \par
  1605.    \tt tnimage*marginWidth: 0  \rm Sets the height of the margin in all widgets \par
  1606.    \tt tnimage*foreground: black   \rm Sets the widget text color \par
  1607.    \tt tnimage*background: gray  \rm Sets the background color (Foreground and
  1608.        background colors of the main drawing area are set separately, from within
  1609.        TN-Image). \par
  1610.    \tt tnimage*shadowThickness: 1  \rm Sets the depth of shadows on all buttons \par
  1611.    \tt tnimage*MenuBar*spacing: 3  \rm Sets the separation between items on menus\par
  1612.    \tt tnimage*MenuBar*background: gray  \rm Sets the color of menu bar\par
  1613.    \tt tnimage*MenuBar*fontList: *helvetica-bold-r-normal--12*  \rm Sets the font
  1614.        for the top menu bar \par
  1615.    \tt tnimage*fontName: *times-bold-r-normal--12*  \rm Sets the default font\par
  1616.    \tt tnimage*information\_area.foreground:black  \rm Sets the text color 
  1617.        of the information area at the left \par
  1618.    \tt tnimage*information\_area.background:gray  \rm Sets the background color 
  1619.        of the information area at the left \par
  1620.    \tt tnimage*list*fontList:*times-bold-r-normal--12* \rm Sets the font in list
  1621.         boxes to times bold (Not recommended, a fixed width font should be used).
  1622.  
  1623.  
  1624. \vskip 0.1 in
  1625.    These resources control the appearance of the file selection dialog:
  1626. \vskip 0.1 in   
  1627.  
  1628.    \tt tnimage*FileSelector*background: gray  \par
  1629.    \tt tnimage*FileSelector*foreground: black  \par
  1630.    \tt tnimage*FileSelector*fontList:*helvetica-bold-r-normal--12* \par
  1631.    \tt tnimage*FileSelector*marginWidth: 5  \par
  1632.    \tt tnimage*FileSelector*marginHeight: 5  \par
  1633.    \tt tnimage*FileSelector*listVisibleItemCount: 30  \rm Sets the number of
  1634.        files to show at a time \par
  1635.    \tt tnimage*FileSelector*borderWidth 0  \par
  1636.  
  1637. \vskip 0.1 in
  1638.    \rm  Other miscellaneous examples:
  1639. \vskip 0.1 in   
  1640.  
  1641.    \tt tnimage*Editor*foreground: black  \rm Color of text in text editor \par
  1642.    \tt tnimage*Editor*background: gray  \rm  Color of text editor \par
  1643.    \tt tnimage*Editor*fontList:*helvetica-bold-r-normal--12* \rm Font for text in
  1644.         editor \par
  1645.    \tt tnimage*Warning*background: red  \rm  Set warning messages to red \par
  1646.  
  1647.    \tt tnimage*Ok*back\-ground: red \rm\par
  1648.    \tt tnimage*Cancel*back\-ground: white \rm\par
  1649.    \tt tnimage*Help*background: blue \rm Set the Ok, Cancel, Help buttons to 
  1650.          red, white, and blue\par
  1651.    \tt tnimage*f1*background: red \rm set the 1st item in the first menu to red.\par
  1652.    \tt tnimage*borderWidth: 2000000000 \rm Add a border 2 billion pixels wide around 
  1653.         each image (Not recommended). \par
  1654.    \tt tnimage*borderColor: papaya whip \rm Change image border to papaya whip. 
  1655.  
  1656. \vskip 0.2 in   
  1657.  
  1658.    The labels and fonts for the dialog boxes may also be individually set.
  1659.    In this case, the resource name is the default string for the label.
  1660.    This also permits non-English labels to be substituted. For example:
  1661. \vskip 0.1 in   
  1662.  
  1663.    \tt tnimage*DialogForm*fontList: *helvetica-bold-r-normal--12*\rm\par
  1664.    \tt tnimage*DialogForm*radiobox*fontList: fixed\rm\par
  1665.    \tt tnimage*DialogForm*boxbutton*fontList: fixed\rm\par
  1666.    \tt tnimage*DialogForm*boxtext*fontList: fixed\rm\par
  1667.    \tt tnimage*DialogForm*boxpushbutton*fontList: fixed\rm\par
  1668.    \tt tnimage*DialogForm*boxfilename*fontList: fixed\rm\par
  1669.  
  1670.    \tt tnimage*fontList: hanzigb16st  \rm This sets all fonts to Chinese.
  1671.         For fonts encoded by multibyte strings (such as Chinese 
  1672.         fonts), the label string and your locale must also be changed.\par
  1673.  
  1674.    \tt tnimage*Interaction mode.labelString: Information at your fingertips!!! \rm\par
  1675.    \tt tnimage*DialogForm*File type.labelString:  This is a feature! \rm\par
  1676.    \tt tnimage*DialogForm*Read Image.labelString: Where do you want to go today?
  1677.  
  1678.     \rm   These three resources change the text in the menu from ``Interaction mode'',
  1679.        `` File type'', or ``Read image'' to the corresponding commonly-used 
  1680.         computer terms. The latter two text labels are changed only if they
  1681.         occur in a DialogForm Widget.
  1682.        
  1683.    \tt tnimage*DialogForm*Filename.labelString: µµ√˚ \rm\par
  1684.         \rm\par (An example of a foreign-language font; may not display 
  1685.         correctly on all systems)
  1686.  
  1687. \vskip 0.1 in   
  1688.  
  1689.    Capitalization and spacing of the original label must be specified exactly.
  1690.    More specific settings override less specific ones. For example, the 
  1691.    combination
  1692. \vskip 0.1 in   
  1693.    
  1694.    \tt tnimage*Ok*fontList: *helvetica-bold-r-normal--12* \rm \par
  1695.    \tt tnimage*DialogForm*Ok*fontList: *helvetica-bold-r-normal--24*  \rm \par
  1696.    
  1697.    will set a size of 24 for the Ok button in dialog boxes and 12 elsewhere.
  1698.  
  1699. \vskip 0.1 in   
  1700.  
  1701. \vskip 0.2 in   
  1702.  
  1703.    If the specific resource name is unknown, it may still be set by specifying
  1704.    the general Motif class name beginning with Xm. This is true for any Motif
  1705.    program. For example:
  1706.  
  1707. \vskip 0.1 in   
  1708.  
  1709.    \tt tnimage*XmMessageBox*marginHeight: 5 \par \rm Sets the vertical margin around warning
  1710.         and information boxes \par
  1711.    \tt tnimage*XmMessageBox*marginWidth: 5 \par \rm Sets the horizontal margin around 
  1712.         warning and information boxes\par
  1713.    \tt tnimage*XmMessageBox*foreground: black \par \rm Sets the text color in warning
  1714.         and information boxes\par
  1715.    \tt tnimage*XmMessageBox*background: gray \par \rm Sets the color of warning
  1716.         and information boxes\par
  1717.    \tt tnimage*XmMessageBox*fontList: *helvetica-bold-r-normal--12*  \par\rm Sets the 
  1718.         font to use in warning  and information boxes\par
  1719.    \tt tnimage*XmDialogShell*background: gray  \rm Sets the color of dialog boxes,
  1720.        clickboxes, etc. \par
  1721.    \tt tnimage*XmDialogShell*foreground: black  \rm Sets the the text color of 
  1722.        dialog boxes, clickboxes, etc.\par
  1723.    \tt tnimage*XmArrowButton.background: gray  \rm Sets the color of the four
  1724.        arrow buttons in the information area.\par
  1725.  
  1726. \vskip 0.2 in   
  1727.  
  1728.  
  1729.  
  1730.  
  1731.    A number of other generic resources may also be set by specifying the 
  1732.    Motif widget class (such as XmPushButton, XmList, etc.). In general, any resources
  1733.    (of which there are many) not explicitly hard-coded in the program can be set 
  1734.    two different ways: by specifying the Xm class (such as ``XmFileSelectionBox''), 
  1735.    or by specifying the name used in the program (such as``FileSelector''). 
  1736.    The latter method permits specifying properties for each widget instead of
  1737.    all instantiations of the widget type. So in this spirit, below are listed 
  1738.    the names of most of the main widgets used in the program.
  1739.    
  1740. \it Message boxes: \rm  Information Prompt Error Question YesNoQuestion Warning
  1741.  
  1742. \it Top menu bar: \rm   MenuBar
  1743.  
  1744. \it Arrow buttons at left: \rm  Button
  1745.    
  1746. \it Ok buttons at bottom of dialog boxes: \rm  Slew Ok Help Load Save Cancel No
  1747.    
  1748. \it Components of dialog boxes: \rm  radiobox label DialogForm
  1749.    
  1750. \it The main windows:  \rm  Main  drawing\_area\_form drawing\_area2  frame
  1751.      informa\-tion\_\-area  dra\-w\-ing\_\-area 
  1752.  
  1753. \it Images: \rm   Image 
  1754.  
  1755. \it List boxes: \rm  List list drag\_area GraphForm graph
  1756.  
  1757. \it Click box components: \rm  FileSelector  Chdir  Editor 
  1758.      ClickboxForm MultiClickboxForm PrintItemForm EditForm
  1759.      Menu3DForm SamplePaletteColorForm SamplePalettePseudoForm
  1760.    
  1761. \it Menu items: \rm f1 to f70.
  1762.    
  1763. \it Menus: \rm fileMenu imageMenu processMenu colorMenu drawMenu aboutMenu
  1764.    configMenu helpMenu.
  1765.  
  1766. \it 3D controls: \rm Menu3DForm 
  1767.  
  1768.  
  1769.  
  1770. \vskip 0.1 in   
  1771.    More examples:
  1772. \vskip 0.1 in   
  1773.  
  1774.    \tt tnimage*fileMenu.background: LavenderBlush1  \rm Sets the color of the file
  1775.        menu to ``Lavender Blush 1'' (See the file /etc/X11/rgb.txt for a list of
  1776.        valid color names, or use a 6-digit hex number such as ``\#aa7733'').\par
  1777.  
  1778.    \tt tnimage*fileMenu*background: bisque  \rm Sets the color of the file
  1779.        menu, including the menu items, to ``bisque''.\par
  1780.  
  1781.  
  1782.    \tt tnimage*DialogForm.fontList:*helvetica-bold-r-normal--12*\par
  1783.    \tt tnimage*DialogForm*XmToggleButton*fontList:fixed\par
  1784.    \tt tnimage*DialogForm*XmPushButton*fontList:*times-bold-r-normal--12*\par \rm
  1785.  
  1786. \vskip 0.1 in   
  1787.    These 3 lines set the toggle buttons to ``fixed'' font, the push buttons to a
  1788.    times font, and everything else (i.e., the labels) to helvetica.
  1789.    Use `xlsfonts' to find what fonts are available on your system.
  1790.  
  1791.  
  1792. \tt tnimage*List.XmLabel.fontList: *helvetica-bold-r-normal--12*
  1793. \rm   sets the labels in all lists to helvetica font, while
  1794.  
  1795. \tt   tnimage*List*fontList: *helvetica-bold-r-normal--12*
  1796. \rm    sets all text in all lists to helvetica font.  
  1797. \vskip 0.1 in   
  1798.  
  1799. \bf Notes \rm
  1800.  
  1801. \item {1.} 
  1802.    Be conservative about setting all these widgets to different colors. Each color
  1803.    used by a widget is one less color available for rendering images. In
  1804.    particular, the top menubar and individual menu items should be set to the
  1805.    same color, otherwise if TN-Image starts up in ``modifiable colormaps'' mode,
  1806.    the menus may become unreadable.  Modifiable colormaps mode is set automatically
  1807.    if there are fewer than 32 color entries available.
  1808.     
  1809. \item {2.} 
  1810.    Be careful not to put spaces after the setting in your .Xdefaults file or
  1811.    after font names in your tnimage.ini file. This will confuse Motif.
  1812.  
  1813. \item {3.} 
  1814.    Some resources, such as ``transient'', although legal, produce instability
  1815.    in Motif, and must not be put in .Xdefaults.
  1816.    
  1817.    
  1818. \vfill\eject   
  1819.  
  1820. \bigskip\hrule\bigskip
  1821. \bbb { 7.1.3 Non-Motif Resources \rm }
  1822. \bigskip
  1823. \hrule\bigskip
  1824. \rm
  1825.  
  1826.    In addition to the Motif resources, a variety of XLib and program resources 
  1827.    are stored in the file \tt tnimage.ini \rm. Most of these are set from within 
  1828.    the program, but can also be edited. However, using inappropriate values will 
  1829.    create undesirable behavior.  For example: 
  1830.  
  1831. \vskip 0.2 in   
  1832.    
  1833. \tt     default\_font *times-bold-r-normal--12*  \rm = Sets the font in the left
  1834.      information window to ``times bold 12 pt''.  Setting this too large will
  1835.      render the information unreadable. If problems occur, the file may be
  1836.      deleted to restore the defaults. \par
  1837.     
  1838. \vskip 0.1 in   
  1839.      Some of the more useful settings are:
  1840. \vskip 0.1 in   
  1841.      
  1842. \tt     want\_colormaps 0 \rm = If set to 1, TN-Image will set a colormap instead of
  1843.      allocating colors.  The first \it save\_colors \rm  colors in the colormap
  1844.      are never altered when the colormap is changed. If the value for 
  1845.      ``save\_colors'' is too low, colormap
  1846.      flashing will occur when the mouse moves from one window to another.
  1847.      If it is set to 1 or 0, the menus may also become unreadable.
  1848. \vskip 0.1 in   
  1849.      
  1850. \tt
  1851.      foreground\_color \par
  1852.      foreground\_red \par
  1853.      foreground\_green \par
  1854.      foreground\_blue  \par
  1855. \rm
  1856.      
  1857.      These values specify the color index and RGB colormap values of the foreground
  1858.      color in the main drawing area.
  1859.  
  1860. \vskip 0.1 in   
  1861.  
  1862. \tt     information\_width 120  \rm = width of the information area at the left. If 
  1863.      set to 0, the information area is not displayed. This setting cannot be changed
  1864.      from within the program. 
  1865.      
  1866. \vskip 0.1 in   
  1867. \tt   default\_font fixed  \rm = Sets the font in left information window to system
  1868.         default font (may be faster than the default Helvetica font).
  1869.  
  1870. \vskip 0.1 in   
  1871. \tt   window\_handle\_size \rm = Sets the size of active area around the edge of
  1872.         each image. Clicking on this area causes the image to be grabbed and 
  1873.         moved.
  1874.  
  1875. \vskip 0.1 in   
  1876. \tt   spacing \rm = Sets the spacing between dots in the line used to indicate
  1877.         an area selection. Setting this to a higher value may improve performance
  1878.         on slower computers, but also makes the selection harder to see.
  1879.  
  1880.  
  1881. \bigskip\hrule\bigskip
  1882. \bbb { 7.1.4 User-Defined Custom Buttons \it (Unix version only) \rm }
  1883. \bigskip
  1884. \hrule\bigskip
  1885. \rm
  1886. \par
  1887.    
  1888.     The buttons at the left of the screen, above the information area, are completely
  1889.     user-con\-fig\-ur\-able. There are 4 required buttons (Cancel, Step, Prop and Quit).
  1890.     The other buttons can be removed or any additional number of other buttons can be 
  1891.     added. To add a new button, edit the configuration file \tt tnimage.ini \rm
  1892.     in \tt tnimage\rm's start-up directory. Change the entry ``nbuttons'' to the total
  1893.     number of buttons. Then add a separate line
  1894.     for each button containing the word ``button'', the button label (which can be 
  1895.     anything up to 6 characters, with no spaces or control characters), and the command. 
  1896.     The command can be any valid macro command (Sec. 8.3.12), including parameters.
  1897.  
  1898.     \bf Examples: \rm \par
  1899.     \tt button Tran. transparency \rm\par
  1900.     adds a button labeled ``Tran.'' which will set the transparency 
  1901.     level for the current image.
  1902.  
  1903.     \tt button Math math \rm\par
  1904.     adds a button labeled ``Math'' which will activate the Image algebra dialog box.
  1905.  
  1906.     \tt button FFT fft \rm\par
  1907.     adds a button labeled ``FFT'' which will activate the Fourier transform dialog box.
  1908.  
  1909.     \tt button Junk load my\_junk.tif 100 100 0.75 0.666 \rm\par
  1910.     adds a button labeled ``Junk'' which will read the image file ``my\_junk.tif''
  1911.     at coordinates 100,100 and shrink it to 75\% of its normal width and 66\% of its
  1912.     normal height.
  1913.  
  1914.     \tt button Gray color->grayscale \rm\par
  1915.     adds a button labeled ``Gray'' which will convert the current immage to 
  1916.     grayscale.
  1917.  
  1918.     \tt button Other macro my-macro \rm\par
  1919.     adds a button labeled ``Other'' which automatically loads and runs the macro
  1920.     from the file ``my-macro''.
  1921.  
  1922.  
  1923. \vfill\eject   
  1924.  
  1925. \bigskip\hrule\bigskip
  1926. \bbb { 7.1.5  Image windows }
  1927. \bigskip
  1928. \hrule\bigskip
  1929. \rm
  1930. \par
  1931.  
  1932. \it (Unix version only). \rm
  1933.  
  1934.    Images loaded into the X Window version of TN-Image can be placed in
  1935.    separate windows instead of the large main window by checking the
  1936.    ``Separate window'' box in the ``Load image'' dialog. With a few minor
  1937.    exceptions, images in separate windows have the same functionality
  1938.    (cut/paste, image math, densitometry, etc) as images on the main window.
  1939.    Cut/paste functions identically regardless of whether the source and
  1940.    destination are on the main window or on separate windows.
  1941.    Additionally, if the Window Manager permits, image windows can be created 
  1942.    with or without a frame,  depending on the settings in the ``Config'' dialog.
  1943.    
  1944. \vskip 0.1 in
  1945.    The advantages of separate windows are:
  1946. \vskip 0.1 in
  1947. \item {1.} Entire image is visible without scrolling
  1948. \item {2.} Image can be iconized when not needed
  1949. \item {3.} Scroll bars can be added (using the menu in the upper left corner.
  1950.    This feature is only available in window managers that support it, such as
  1951.    fvwm.)
  1952. \item {4.} Images can be positioned anywhere on the screen
  1953.  
  1954. \vskip 0.1 in
  1955.    Disadvantages are:
  1956. \vskip 0.1 in
  1957. \item {1.} Images cannot be superimposed, added, or subtracted without using
  1958.          ``image math'' function.
  1959. \item {2.} Transparency and chroma-key do not work.
  1960. \item {3.} Composite images cannot be created.
  1961.      
  1962. \vfill\eject
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970. \bigskip\hrule\bigskip
  1971. \bbc { 7.2.0  Video cards supported (DOS version) }
  1972. \bigskip
  1973. \hrule\bigskip
  1974. \rm
  1975. \par
  1976.  
  1977.  
  1978.  
  1979.       Currently three SVGA chips are directly supported:
  1980.  
  1981.         a) Trident 8800, 8900, or more recent chips. Trident cards seem 
  1982.            to be popular in many local computer stores.
  1983.  
  1984.         b) Tseng Labs ET4000  or more recent chips. Note: the older Tseng 
  1985.            ET3000 chip is not supported. The ET4000 chip is in many cards 
  1986.            made by a variety of manufacturers.
  1987.        
  1988.         c) IBM XGA and XGA-2.
  1989.    
  1990.       If these chips are not detected, TN-Image will use VESA
  1991.       super VGA functions.
  1992.  
  1993.       Other cards will also work if they are VESA-compatible. To use a
  1994.       VESA-compatible card, you may need to first install a VESA  BIOS
  1995.       extension,  which is usually a small program that came with your
  1996.       video card, and may be named  ``VVESA.COM''  (for  Mach32  cards),
  1997.       ``VESART.COM''   (for   Realtek  cards),  or  something   similar.
  1998.       Installing this VESA BIOS means you have to run the VESA program
  1999.       before running TNEDIT. This is conveniently done by  putting  it
  2000.       in  your  AUTOEXEC.BAT file. Newer cards often have VESA already
  2001.       installed in the card in ROM so no action needs to be taken.
  2002.    
  2003.       Certain early video cards interact with the mouse cursor, making
  2004.       smooth movement of the mouse difficult. Some older mouse drivers
  2005.       also cannot handle SVGA modes smoothly. It should be possible to
  2006.       position  the  mouse  at  each  point  on  the  screen.  If  you
  2007.       experience  difficulty  reaching  odd-numbered  pixels,  try  to
  2008.       obtain  a  newer  mouse  driver. If this doesn't help, it may be
  2009.       necessary to upgrade to a better  SVGA  card.  This  problem  is
  2010.       known to occur with some RTG3106-based Realtek cards.
  2011.          
  2012.       If you have one of the above video cards and TN-Image still
  2013.       doesn't work on your computer, please let us know. We will try
  2014.       to fix it for you.
  2015.  
  2016. \bf
  2017.       ATI video card users:      
  2018. \rm 
  2019.       Computers with Mach 32 ATI cards may have problems running TN-Image 
  2020.       in true-color modes from within a DOS box. The only known solution 
  2021.       is to run TN-Image from DOS, or use TN-Image in an 8 bit/pixel 
  2022.       mode (e.g., mode 103). (See ``Command-line options'' above).
  2023.  
  2024.       If your ATI video card won't go into desired screen mode, even though 
  2025.       the manual states that mode is supported, run ATI's ``Install'' program 
  2026.       again to verify the specified video mode is activated. If this doesn't
  2027.       work, it is possible that the computer was turned on before turning on 
  2028.       the power to the monitor. ATI cards only examine the monitor type at 
  2029.       power-up, and could become confused if the monitor is off during a cold 
  2030.       boot-up, and refuse to set high-resolution modes. 
  2031.  
  2032.       The display in TN-Image is corrupted when using ATI Mach 64 cards 
  2033.       if the UNIVBE TSR is present.  
  2034.  
  2035. \vfill\eject
  2036.  
  2037. \bigskip\hrule\bigskip
  2038. \bbc { 7.3.0  Screen modes supported  (DOS version) }
  2039. \bigskip
  2040. \hrule\bigskip
  2041. \bba
  2042.  
  2043. \rm
  2044.  
  2045.  
  2046.  
  2047.  
  2048.        The mode value `xxx' on the command line can be one of the following:
  2049.  
  2050. \settabs 6 \columns
  2051. \smallskip\hrule\smallskip
  2052. \+      Video card/chip   &Mode    &Resolution   &Colors           &Video RAM &Bits per\cr
  2053. \+                        &        &             &                 &Needed    &Pixel \cr
  2054. \smallskip\hrule\smallskip
  2055. \+       Tseng ET4000/      & 2E     & 640 x 480   &       256     &1/2 meg   & 8    \cr
  2056. \+         W32              & 30     & 800 x 600   &       256     &1/2 meg   & 8    \cr
  2057. \+                          & 38     &1024 x 768   &       256     &1 meg     & 8    \cr
  2058. \+                          &2E1$^2$ & 640 x 480   &    32,768     &1 meg     &15    \cr
  2059. \+                          &301$^2$ & 800 x 600   &    32,768     &1 meg     &15    \cr
  2060. \+                          &381$^2$ &1024 x 768   &    32,768     &2 meg     &15    \cr 
  2061. \+                          &2E2$^2$ & 640 x 480   &    65,536     &1 meg     &16    \cr
  2062. \+                          &302$^2$ & 800 x 600   &    65,536     &1 meg     &16    \cr
  2063. \+                          &382$^2$ &1024 x 768   &    65,536     &2 meg     &16    \cr
  2064. \+                          &2E3$^2$ & 640 x 480   &16,777,216     &1 meg     &24    \cr
  2065. \+                          &303$^2$ & 800 x 600   &16,777,216     &2 meg     &24    \cr
  2066. \+                          &383$^2$ &1024 x 768   &16,777,216     &3 meg     &24    \cr
  2067. \+                                                                                   \cr
  2068. \+       Trident 8800/      &5D      & 640 x 480   &       256     &1/2 meg   & 8    \cr
  2069. \+               8900       &5E      & 800 x 600   &       256     &1/2 meg   & 8    \cr
  2070. \+                          &62      &1024 x 768   &       256     &1 meg     & 8    \cr
  2071. \+                                                                                   \cr
  2072. \+       IBM XGA/           &2       &1024 x 768   &       256     &1 meg     & 8    \cr
  2073. \+           XGA2           &4       & 640 x 480   &       256     &1/2 meg   & 8    \cr
  2074. \+                          &5       & 640 x 480   &    65,536     &1 meg     &16    \cr
  2075. \+                          &7       & 800 x 600   &       256     &1 meg     & 8    \cr
  2076. \+                          &8       & 800 x 600   &    65,536     &1 meg     &16    \cr
  2077. \+                                                                                   \cr
  2078. \+       VESA              &100      & 640 x 400   &       256$^3$&256 k      & 8    \cr
  2079. \+                         &101      & 640 x 480   &       256     &1/2 meg   & 8    \cr
  2080. \+                         &103      & 800 x 600   &       256     &1/2 meg   & 8    \cr
  2081. \+                         &105      &1024 x 768   &       256     &1 meg     & 8    \cr
  2082. \+                         &107      &1280 x 1024  &       256     &2 meg     & 8    \cr
  2083. \+                         &110      & 640 x 480   &    32,768$^5$ &1 meg     &15    \cr
  2084. \+                         &111      & 640 x 480   &    65,536     &1 meg     &16    \cr
  2085. \+                         &112      & 640 x 480   &16,777,216$^1$ &1 meg     &24-32 \cr
  2086. \+                         &113      & 800 x 600   &    32,768$^5$ &1 meg     &15    \cr
  2087. \+                         &114      & 800 x 600   &    65,536     &1 meg     &16    \cr
  2088. \+                         &115      & 800 x 600   &16,777,216$^1$ &2 meg     &24-32 \cr
  2089. \+                         &116      &1024 x 768   &    32,768$^5$ &2 meg     &15    \cr
  2090. \+                         &117      &1024 x 768   &    65,536     &2 meg     &16    \cr
  2091. \+                         &118      &1024 x 768   &16,777,216$^1$ &3 meg     &24-32 \cr
  2092. \+                         &119      &1280 x 1024  &    32,768$^5$ &3 meg     &15    \cr
  2093. \+                         &11a      &1280 x 1024  &    65,536     &3 meg     &16    \cr
  2094. \+                         &11b      &1280 x 1024  &16,777,216$^1$ &4 meg     &24-32 \cr
  2095. \+                         &120$^4$  &1600 x 1200  &       256     &2 meg     & 8    \cr
  2096. \+                         &$^4$     &1600 x 1200  &    65,536     &4 meg     &16    \cr
  2097. \+                         &$^4$     &1600 x 1200  &16,777,216$^1$ &6 meg     &24-32 \cr
  2098. \smallskip
  2099. \hrule\bigskip
  2100.     $^1$ Most cards use mode 115, 118, and 11b as 32-bit/pixel 
  2101.          modes for speed purposes, but the maximum no.of colors 
  2102.          is still only 16,777,216. 
  2103.  
  2104.     $^2$ Experimental - awaiting testing with W32 card.
  2105.          Any feedback as to whether these modes work is 
  2106.          appreciated.
  2107.  
  2108.     $^3$ \#9GXE64 card does not support this mode.
  2109.  
  2110.     $^4$ Numbering for screen modes above 11b may vary from card to card.
  2111.          All VESA modes with 8 or more bits/pixel are available using the
  2112.          -xres and -bpp options (Sec.7.1.0).
  2113.        
  2114.     $^5$ Some video cards, such as the \#9GXE, do not support any 15-bit
  2115.          screen modes.
  2116. \medskip
  2117.  
  2118.        If after trying the above options, you still cannot get TN-Image
  2119.        to run on your machine, you can try utilities such as UNIVBE, 
  2120.        which can permit your Super VGA card to use VESA modes.
  2121.  
  2122.        If your monitor makes a buzzing or squeaking sound and/or fails to 
  2123.        synchronize (evidenced by jagged diagonal lines or other unusual 
  2124.        effects), turn the monitor off immediately and press Alt-X several 
  2125.        times to stop the program. This could occur if your video card reports
  2126.        that it is safe to set a given screen mode when in fact it is not 
  2127.        safe. Although it should be the responsibility of the video card to
  2128.        determine whether it is safe to set a given screen mode, this
  2129.        feature is absent from many cards. All SVGA monitors, however, 
  2130.        should be capable of running safely at the default screen mode 
  2131.        (800x600 pixels).
  2132.  
  2133.                                  
  2134. \par\bigskip
  2135. \bba     
  2136. \hrule\bigskip
  2137.         WARNING!
  2138. \medskip
  2139.  
  2140. \bba     
  2141.        CHECK YOUR MONITOR MANUAL *BEFORE* 
  2142.        ATTEMPTING TO RUN TN-IMAGE IN A SCREEN MODE
  2143.        OTHER THAN THE DEFAULT MODE! THE AUTHOR
  2144.        IS NOT RESPONSIBLE FOR ANY MONITOR DAMAGE
  2145.        CAUSED BY ATTEMPTING TO SET YOUR MONITOR
  2146.        TO A MODE WHICH IT IS UNABLE TO HANDLE. MOST
  2147.        VIDEO CARDS WILL REFUSE TO SET AN UNSAFE
  2148.        MODE, BUT SOME WILL!
  2149.          
  2150.  
  2151. \bigskip\hrule
  2152. \vfill\eject
  2153. \bigskip\hrule\bigskip
  2154. \bbc { 7.4.0   Basic operations }
  2155. \bigskip
  2156. \hrule\bigskip
  2157. \rm
  2158.  
  2159.  
  2160.    Most operations, such as filtering, saving images to disk, etc. use
  2161.    a ``selected region'' which has to be selected before you perform the
  2162.    operation.  To select a region, move the mouse to one corner of the
  2163.    desired area, click and drag to the other corner, then release  the
  2164.    mouse  button.  A rectangle shows the selected region while you are
  2165.    dragging. This selected region stays in effect until you  (1)  quit
  2166.    the  program, (2) select another region, (3) pick ``unselect region''
  2167.    from the menu, or (4) double-click on an image to select an  entire
  2168.    image.  If  no  region has been selected, or it was unselected, the
  2169.    region defaults to the entire screen. If you  make  changes  to  or
  2170.    select  a  region  that  is  partly  on  an image and partly on the
  2171.    background, the portion of your changes that  falls  on  the  image
  2172.    will  remain  with  the  image,  and  the  rest  will  stick to the
  2173.    background. 
  2174.    
  2175.    The  background is maintained independently of the images. Thus, if
  2176.    an image is  moved  over  the  background  or  another  image,  the
  2177.    background  is  not  disturbed. When many images are simultaneously
  2178.    present, it is often convenient to keep most of them out of the way
  2179.    by stacking them up or moving them out of the  visible  region, off
  2180.    the edge of the screen. If an image gets lost off the edge, you can
  2181.    find its coordinates by selecting ``About the program'' or ``About the
  2182.    image''.
  2183.           
  2184.    You can select an entire image by double-clicking on that image. To
  2185.    change to a different image, single-click on  the  other  image  to
  2186.    bring  it  to  the  foreground  or double-click on it to select it.
  2187.    Selecting an image means that, all subsequent  operations  will  be
  2188.    performed on the entirety of that image. 
  2189.     
  2190.    You can move an image around by clicking on the small arrows on the
  2191.    top  menu  bar.  The  distance by which a single click on the arrow
  2192.    moves the image is adjustable by pressing the gray ``+'' or ``-'' keys,
  2193.    or by selecting ``Cursor movement rate'' from the ``Configuration'' menu.
  2194.       
  2195.    When the mouse cursor passes over an edge of an image,  it  changes
  2196.    from a diagonal arrow to double arrows. If you click the left mouse
  2197.    button  at  this  point, the image will be ``grabbed''. Keep pressing
  2198.    the mouse button, move to a new location,  and  then  release.  The
  2199.    image is then moved to the new location. The same is true for 
  2200.    message boxes, graphs, dialog boxes, the colormap window,  and 
  2201.    information windows.
  2202.    
  2203. \bigskip\hrule\bigskip
  2204. \bbc { 7.5.0   Operating under low-memory conditions }
  2205. \bigskip
  2206. \hrule\bigskip
  2207. \rm
  2208.  
  2209.   If you have 4 MB or less of RAM, or use large images or a lot of
  2210.    images simultaneously, or work in a Windows DOS box, eventually you 
  2211.    may run out of memory. 
  2212.  
  2213.    There are several things you can do to increase available memory:
  2214.    
  2215.    (1)  In  the  ``Config''  menu,  turn off the ``Automatic undo'' option
  2216.    before loading any images. This will double  the  amount  of  space
  2217.    available for images, but TN-Image will not create an ``undo'' buffer
  2218.    for each image. This means you will not be able to  erase  anything
  2219.    from  the image (such as text or graphic elements) without creating
  2220.    blank areas on the image. You can still back up and restore  images
  2221.    manually, however.  
  2222.  
  2223.    (2) Start TN-Image in a  lower  screen  mode.  In  lower resolution
  2224.    modes,  less  memory is needed to manipulate images and background.
  2225.    (See under ``Command-line options''). Try using 8-bit/pixel modes 
  2226.    instead of true color modes. TN-Image reserves a fixed amount of 
  2227.    memory for drawing dialog boxes and error messages. The amount of 
  2228.    reserved memory is also screen mode-dependent.
  2229.  
  2230.    (3) In TN-Image registered version, memory is limited  only  by the
  2231.    available hard disk space. You can create more  virtual  memory  by
  2232.    using a disk utility to unfragment your hard disk, or you can erase
  2233.    unneeded files.
  2234.  
  2235.    (4)  If high resolution is not essential, images can be loaded in a
  2236.    small size.  Loading an image with  ``X size=50''  and  ``Y size=50''
  2237.    uses  only  ¨  as  much  memory  as  a  full-size image. (See under
  2238.    ``File menu...Load image'').
  2239.    
  2240.    (5). If you have more than one image  loaded,  unload  one  of  the
  2241.    images using ``File... Unload image''. This removes it and its backup
  2242.    from memory.
  2243.  
  2244.    (6). Erase FFT's as soon as possible by selecting ``File...Erase FFT''.
  2245.    Fourier transforms use large amounts of memory.
  2246.  
  2247.  
  2248. \bigskip\hrule
  2249. \vfill\eject
  2250. \bigskip\hrule\bigskip
  2251. \bbc { 7.6.0  Commonly asked questions }
  2252. \bigskip
  2253. \hrule\bigskip
  2254. \rm
  2255.  
  2256.  
  2257. \proclaim
  2258.    Q. How do I add text?
  2259.  
  2260.    A. Move the mouse cursor to the desired location and begin typing.
  2261.       It is not necessary to click the mouse before typing. Make sure
  2262.       the mouse does not move while you are typing. The text will stick 
  2263.       to the foremost image, or if no image is present, to the background. 
  2264.       Unix versions can also select the font, font size, and weight.
  2265.       Alternatively, text can be positioned interactively by selecting
  2266.       ``Draw..Label'', or by typing on the background and copying it to 
  2267.       the image.
  2268.       
  2269. \proclaim
  2270.    Q. How do I undo an operation?
  2271.  
  2272.    A. Select ``Process...Restore''. The image will be restored to its state
  2273.       at the last time you backed it up. If you never backed it up, it will
  2274.       be restored to its original state -- unless the ``Auto-Undo'' option
  2275.       has been turned off. 
  2276.  
  2277. \proclaim
  2278.    Q. How do I turn off box- or line-drawing mode?
  2279.  
  2280.    A. Click anywhere on the top menu bar or pull down any menu. This
  2281.       automatically turns off everything. Alternatively, click on the
  2282.       small rectangle which displays the current mode on the right side
  2283.       of the menu bar. In the Unix version, click on the main ``Cancel''
  2284.       button in the information area.
  2285.       
  2286. \proclaim
  2287.    Q. Is there an easy way to change the color of text, lines, etc.?
  2288.  
  2289.    A. Yes, click the left mouse button on the color palette to select the 
  2290.       foreground color. Click the right mouse button on the palette to
  2291.       select the background color.
  2292.       
  2293.  
  2294. \proclaim
  2295.    Q. How do I make the background color white?
  2296.  
  2297.    A. Select ``Color..Set background color'' and set the color to the 
  2298.       highest value (255 on an 8-bit display). Then select ``Image..
  2299.       erase background'' to redraw the background in the new color
  2300.       (\bf Note: \rm This will erase everything that was drawn on the 
  2301.       background).
  2302.       
  2303.  
  2304.  
  2305. \proclaim
  2306.    Q. When filtering, changing contrast, etc. of color images, why does
  2307.       junk sometimes briefly appear on the screen?
  2308.  
  2309.    A. If TN-Image is in an 8-bit screen mode, manipulating 16 and 24-bit 
  2310.       images temporarily causes the image to be filled with 16 or 24 bit 
  2311.       data, which appears as random noise because of the discontinuous 
  2312.       colormap. After the operation is finished, the colormap is automatically 
  2313.       recalculated, and the image will appear normal again.
  2314.    
  2315. \proclaim
  2316.    Q. How can I combine two or more indexed color images into one image so 
  2317.       that they have the same colormap?
  2318.  
  2319.    A. Start TN-Image in a color mode by typing:  \tt tnimage -xres 800 -bpp 24 \rm
  2320.       (if using DOS version).  If using the Unix version, it is necessary to 
  2321.       restart the X server in a true-color mode  by typing: \tt startx - --bpp 24 \rm 
  2322.       or some similar command. Load both images into the same window, then select 
  2323.       ``Create image'' and select a region covering both images, using the mouse. 
  2324.       Select ``Change image depth'' to convert the image to 1 byte (8 bits) per pixel. 
  2325.       A new 8-bit colormap will be generated to fit both images.  
  2326.       
  2327. \proclaim
  2328.    Q. Why is \rm xxx \it image file format not supported? 
  2329.  
  2330.    A. Some image formats (such as GEM IMG) are not commonly used in image 
  2331.       analysis. Others (such as lossless JPEG, LZW-compressed TIF, and 
  2332.       creation of GIFs) are not supported because of patent restrictions. 
  2333.       JPEG is not included in the Shareware version because it requires 
  2334.       virtual memory. Requests for other formats are welcome.
  2335.       
  2336. \proclaim
  2337.    Q. Is a Windows-NT version of TN-Image being planned?
  2338.  
  2339.    A. This has not been decided. For Windows 3.1 and Windows 95, 
  2340.       TN-Image has an icon and PIF file,
  2341.       and works perfectly in a DOS box. TN-Image is very demanding on the 
  2342.       hardware and will always run better from the DOS command line than
  2343.       in Windows.
  2344.  
  2345. \proclaim
  2346.    Q. Is a Windows-3.1 or Windows-95 (or 97) version of TN-Image being planned?
  2347.  
  2348.    A. No.
  2349.  
  2350. \proclaim
  2351.    Q. Is a Macintosh/NeXt/Rhapsody version of TN-Image being planned?
  2352.  
  2353.    A. No.
  2354.  
  2355. \proclaim
  2356.    Q. Is a SunOs 4.x/OpenWindows version of TN-Image available?
  2357.  
  2358.    A. The program requires Motif and does not compile under OpenWindows.
  2359.       A static version which will not require Motif will be created 
  2360.       if appropriate libraries can be obtained.
  2361.  
  2362.  
  2363.  \proclaim
  2364.    Q. Will lower-resolution screen modes (such as 640 x 480 x 16 colors)
  2365.       ever be supported?
  2366.  
  2367.    A. No. Reducing the number of colors to 16 would render any quantitative 
  2368.       analysis of the image almost meaningless. Users are advised against
  2369.       using 4-bit images for any scientific work, as many such images that
  2370.       have previously appeared in the literature are now being questioned.
  2371.       
  2372.  \proclaim
  2373.    Q. Is the source code available?
  2374.  
  2375.    A. Currently the source code still in a state of transition from the 
  2376.       MS-DOS version and is not in a presentable condition.  Eventually the 
  2377.       source code will probably be released.
  2378.  
  2379.  \proclaim
  2380.    Q. How do I scan an 8-bit color image?  In the dialog box, all the selections
  2381.       for color images are at least 24 bits/pixel.
  2382.  
  2383.    A. HP scanners cannot create 8-bit indexed color images. Scan the image
  2384.       at 24 bits and then select ``Color.. Change image depth'' to change
  2385.       the image to 1 byte (8 bits)/pixel. This will automatically generate
  2386.       an optimal colormap.
  2387.  
  2388. \proclaim
  2389.    Q. Why do controls for red, green, and blue appear when I try to change
  2390.       the contrast on my grayscale image?
  2391.  
  2392.    A. Some other software incorrectly sets the image identifiers in their
  2393.       image to values which indicate the image is ``color'' even though it
  2394.       appears as a gray scale. Selecting ``Color..Convert to grayscale''
  2395.       will repair the image.
  2396.  
  2397. \proclaim
  2398.    Q. When I set ``chroma-key'' on an image it either turns black or
  2399.       disappears entirely, and cannot be selected by clicking on it with 
  2400.       the mouse. Is this a bug?
  2401.  
  2402.    A. No, if the minimum and maximum chroma-key values are too broad,
  2403.       the entire image is transparent. If it becomes invisible, clicking 
  2404.       on it will only select the background. Select ``Image..image properties'' 
  2405.       and change the minimum and maximum to more reasonable values.
  2406.       
  2407.  
  2408.  
  2409. \bigskip\hrule
  2410. \vfill\eject
  2411. \bigskip\hrule\bigskip
  2412. \bbc { 7.7.0  Batch mode processing }
  2413. \bigskip
  2414. \hrule\bigskip
  2415. \rm
  2416.  
  2417.    TN-Image can also be run in ``batch'' mode for unattended operation.
  2418.    This is useful for operations that are time-consuming or need to be done 
  2419.    every day. You can use a cron-like utility or a DOS command scheduler
  2420.    such as 
  2421. \tta   tnshell 
  2422. \rm (available from the author) to automatically carry out 
  2423.    any sequence of operations at (for example) 3 a.m. on Thursdays or to
  2424.    automatically load a series of images before you come to work. The 
  2425.    computer's mouse and video card must still be present, and if your monitor 
  2426.    is turned on the images will still appear on the display.
  2427.  
  2428. \it   Procedure: 
  2429. \rm
  2430.  
  2431.    1. Create a macro in TN-Image and save it to disk. The last command in
  2432.       the macro should be ``exit'' to ensure TN-Image quits when finished.
  2433.       The command ``messages 0'' can also be used to ensure that any error
  2434.       messages are ignored instead of causing the program to wait for an
  2435.       acknowledgement (Make sure the macro works before using this!).
  2436.  
  2437.    2. Using \tt tnshell \rm (or other program), set the 
  2438.       following DOS command to
  2439.       be executed at the desired time (e.g., 3 a.m. every Saturday):
  2440. \tta       tnimage -macro  \it macro\_file
  2441. \rm
  2442.       where \it macro\_file \rm is the name of your macro (without brackets).
  2443.       See \it Macro programming guide \rm  for examples of useful batch macros.
  2444.  
  2445. \bigskip\hrule
  2446. \bigskip\hrule\bigskip
  2447. \bbc { 7.8.0  Editing text files }
  2448. \bigskip
  2449. \hrule\bigskip
  2450. \rm
  2451.  
  2452.    The Macro Editor in TN-Image can also be used as a text editor for small
  2453.    (up to 65536 characters) text files. This can be used to take notes on your
  2454.    image analysis, create color-remapping files, etc. as well as writing
  2455.    macros. The Unix version also supports clipboard cut \& paste.
  2456.   
  2457.  
  2458.  
  2459. \bigskip\hrule
  2460. \bigskip\hrule\bigskip
  2461. \bbc { 7.9.0  Reading mail attachments with TN-Image (Unix version) }
  2462. \bigskip
  2463. \hrule\bigskip
  2464. \rm
  2465.  
  2466.    To use TN-Image as an image viewer for MIME mail attachments, add the 
  2467.    following line to your /etc/mailcap or ~/.mailcap file and remove all
  2468.    other lines containing ``image'':
  2469.    
  2470.            
  2471. \tt image/*; showpicture -viewer /your\_tnimage\_path/tnimage %s
  2472. \rm
  2473.  
  2474. or
  2475.  
  2476. \tt image/*; /your\_tnimage\_path/tnimage %s    .
  2477.  
  2478. \rm This will cause your mail reader (e.g., \tt pine\rm ) to automatically 
  2479.   run TN-Image when an image attachment is to be viewed.
  2480.  
  2481.  
  2482. \bigskip\hrule
  2483. \vfill\eject
  2484. \bigskip\hrule\bigskip
  2485. \bbc { 8.0.0  Menu options }
  2486. \bigskip
  2487. \hrule\bigskip
  2488. \rm
  2489.  
  2490.    Menus, dialog boxes, message boxes, and click boxes can all be moved 
  2491.    by moving the mouse to the edge of the object and clicking the
  2492.    left mouse button.  Move to the desired location and release the
  2493.    mouse button. 
  2494.  
  2495.  
  2496. \bigskip\hrule\bigskip
  2497. \bbc { 8.1.0  File menu }
  2498. \bigskip
  2499. \hrule\bigskip
  2500. \rm
  2501.  
  2502.  
  2503. \bigskip\hrule\bigskip
  2504. \bbb { 8.1.1  Load image  }
  2505. \bigskip
  2506. \hrule\bigskip
  2507. \rm
  2508.      
  2509.        Reads an image from a disk file. 
  2510.  
  2511. \medskip\it    Vertical/Horizontal \rm - Selects whether the image should be
  2512.                              loaded in its normal orientation
  2513.                              (vertical) or rotated $ 90 \deg $ (horizontal).
  2514.  
  2515. \medskip\it    Positive/Negative \rm  - Selects whether the image is to be loaded
  2516.                              normally or as a negative (color-inverted)
  2517.                              image.
  2518.                              
  2519. \medskip\it    Filename      \rm   - Name of the image to be read. The previous
  2520.                              20 filenames are kept on a stack and can be
  2521.                              selected with the up and down arrow keys.
  2522.                              Alternatively, if you press \it Enter \rm when no 
  2523.                              filename is showing, you can select a file
  2524.                              from a menu. Wildcard (* or ?) characters
  2525.                              are permissible; thus, ``*.pcx'' is a valid
  2526.                              filename, and will cause all matching files
  2527.                              to be loaded.
  2528.                              
  2529. \medskip\it    X position    \rm   - Horizontal starting pixel position to place 
  2530.                              the image (in pixels).  If the image is in a separate
  2531.                              window, the position is relative to the upper left
  2532.                              of the screen; otherwise, it is relative to the 
  2533.                              upper left of the main window.
  2534.  
  2535. \medskip\medskip\it    Y position   \rm    - Vertical starting position to place the
  2536.                              image (in pixels). If the image is in a separate
  2537.                              window, the position is relative to the upper left
  2538.                              of the screen; otherwise, it is relative to the 
  2539.                              upper left of the main window.
  2540.                                 
  2541. \medskip\it    X size       \rm    - If x size is 100, the image is loaded in
  2542.                              its actual size. If set to some value
  2543.                              between 0 and 100, the image is shrunk in
  2544.                              the x direction.
  2545.  
  2546. \medskip\it    Y size       \rm    - If y size is 100, the image is loaded in
  2547.                              its actual size. If set to some value
  2548.                              between 0 and 100, the image is shrunk in
  2549.                              the y direction.
  2550.  
  2551. \medskip\it    Auto File Type/ Raw bytes -
  2552.        
  2553. \rm    Select `raw bytes' if you wish to read the image as a series of
  2554.        bytes and override the automatic image file type detection. (If
  2555.        the  image  is  an unknown format, ``raw bytes'' mode is selected
  2556.        automatically).
  2557.  
  2558. \medskip\it    Invert byte order   - 
  2559.        
  2560. \rm    Certain other imaging programs save the RGB values in the wrong
  2561.        order.  This  could  also  happen  with  certain  video  cards.
  2562.        Clicking this option will switch the byte order to the  correct
  2563.        value.
  2564.                              
  2565. \medskip\it    CMYK to RGB           - 
  2566.                              
  2567. \rm    If  the  TIF  file  happens to be a 32-bit CMYK image, TN-Image
  2568.        will  automatically  convert  it  to  RGB  format  for  display
  2569.        purposes. Occasionally, an image file header says the image  is
  2570.        a  CMYK  image but in actuality it is not. Un-clicking this
  2571.        option will cause TN-Image to treat the image as if it were  an
  2572.        ordinary  RGB  image.  This option has no effect on images less
  2573.        than 32 bits/pixel.
  2574.                              
  2575. \medskip\it    Convert to gray scale
  2576.        
  2577. \rm    Changes the image to shades of gray  instead  of  its  original
  2578.        colors. This is particularly useful for CT or MRI images of greater 
  2579.        than 8 bits per pixel, because the gray scale can be remapped
  2580.        as a ``sliding scale'' to enhance specific regions of the image.
  2581.                              
  2582. \medskip\it    Color reduction     -
  2583.        Quantization/Fit current colormap/None
  2584.         
  2585. \rm       If TN-Image is in an 8-bit/pixel (indexed-color) mode, when a
  2586.        color image is loaded the number of colors must be reduced to
  2587.        256 for display purposes. This can be done by ``quantizing''  the
  2588.        image or by trying to fit the image to the currently-selected
  2589.        colormap. Even though the quantization algorithm used is new and
  2590.        one of the fastest known, converting the image to 8 bits/pixel
  2591.        often still takes much longer than reading it from the disk. 
  2592.  
  2593.           Quantizing is more general than colormap fitting, and is guaranteed 
  2594.        to give a viewable image. Many GIF files were produced  
  2595.        with quantizing.  However, because it changes the colormap, all 
  2596.        other images currently being viewed will become ``garbage'' if 
  2597.        TN-Image is in an 8-bit mode (Of course they are not really  
  2598.        garbage, but temporarily unviewable). Clicking on an image restores  
  2599.        the colormap for that image. 
  2600.        
  2601.           Colormap fitting uses less memory than quantizing. If the error 
  2602.        message ``Insufficient memory to convert to 8 bits/pixel'' appears, 
  2603.        try changing the color reduction method to ``fit current colormap''.
  2604.        This can be quite slow, however, for certain types of images.
  2605.  
  2606.           Because quantized colormaps are usually not a continuous flow
  2607.        of colors, it may not always be possible to perform all types of
  2608.        quantitative analysis or filtering on a quantized 8-bit image.
  2609.        The best solution is to select ``Change color depth'' and convert
  2610.        the  image to a 24 bits/pixel color image. The colors will then
  2611.        work as expected during filtering.
  2612.  
  2613.           Fitting to the current colormap does  not  affect  the  other
  2614.        images  on  the  screen,  and  gives  a  result  that  is still
  2615.        quantitatively analyzable and filterable. Also, if the original
  2616.        colors in the image are similar to those in  the colormap,  the
  2617.        result  will  be a much smoother image. However, if the colormap
  2618.        is substantially different, none of the colors  may  match  up.
  2619.        (Of course, you can easily change the colormap and repeat). This
  2620.        method incidentally uses much less memory than quantizing.
  2621.  
  2622.           If  TN-Image  is  in a color mode, this option has no effect
  2623.        except when saving images to disk when ``8-bit/pixel colormap'' is
  2624.        specified as the file type. Color images  are  filtered  in  an
  2625.        identical  manner regardless of whether or not TN-Image is in a
  2626.        color mode. The colormap is also used in color  modes  when  an
  2627.        image  with  8 or less bits/pixel (i.e., a indexed-color image)
  2628.        is loaded.
  2629.  
  2630.            All 8,16,24, and 32-bit images are kept in memory in  their
  2631.        original  color  depth,  regardless of the current screen mode.
  2632.        Other images are converted at read time  to  the  next  highest
  2633.        multiple  of  8. This means that you can safely edit full-color
  2634.        images even if your computer's video card can only  handle  256
  2635.        colors. Editing operations also are handled in a manner 
  2636.        appropriate for each image. Thus, for example, you can select an area
  2637.        encompassing both an 8-bit image and a 24-bit image, and filter
  2638.        them  simultaneously,  with no problems. TN-Image automatically
  2639.        knows the color depth of each pixel being processed and handles
  2640.        it appropriately. 
  2641.        
  2642. \it          See also under ``Color settings'' for more details.
  2643. \rm
  2644.  
  2645.           Images between 1 and 7 bits/pixel are automatically converted 
  2646.        to 8 or 16 bits/pixel when they are loaded. The conversion  
  2647.        makes use of whichever colormap is selected. If you have not 
  2648.        specifically changed the colormap, the default ``spectrum'' colormap 
  2649.        will be used. This can result in an unexpected color appearance. 
  2650.        8 bit/pixel images are a special case, because they are usually 
  2651.        saved with their own colormap.    
  2652.                               
  2653.        If TN-Image cannot identify the image type, or finds an invalid 
  2654.        file, it asks if you want to try to read it anyway as raw bytes. 
  2655.        It then makes a guess as to the x and y sizes, and  bits/pixel. 
  2656.        You should correct these as needed. In order to read raw bytes,
  2657.        the image should have a constant no. of bytes per scan line, be
  2658.        uncompressed,  and  have  the  image rows stored in consecutive
  2659.        order. You may also have to skip a number of bytes to  get  the
  2660.        image to line up horizontally. This number has to be determined 
  2661.        experimentally. If the file is not really an image file, in all 
  2662.        likelihood you will just get junk on the screen.
  2663.  
  2664.        This feature allows you to import other types of files that are
  2665.        not  normally  thought  of  as  images.  For example, to read a
  2666.        database of 16 x  16  Chinese  characters,  use  the  following
  2667.        parameters:
  2668.  
  2669.                Filename:     ziku  (or name of the database)
  2670.  
  2671.                x pixels:       16
  2672.  
  2673.                y pixels:  \it length of file $\div$ 16 \rm , e.g. 15000 or so.
  2674.  
  2675.                bits/pixel:      1
  2676.  
  2677.                bytes to skip:   0
  2678. \medskip
  2679.        The  database  will  be  loaded  as  a  long  strip  of Chinese
  2680.        characters, which then can be cut and  pasted  as  desired.  Of
  2681.        course, this is not the most efficient way to edit Chinese, but
  2682.        it demonstrates the usefulness of the feature.
  2683.  
  2684.        See the following section for a detailed procedure for reading
  2685.        raw bytes and creating custom formats.
  2686.      
  2687.        If a single-color image containing between 1 and 8 bits/pixel is
  2688.        loaded, the values are automatically filtered through the currently-
  2689.        selected colormap. If the image itself contains a colormap, the colormap
  2690.        in the image is used. This is not done for single-color images greater 
  2691.        than 8 bits/pixel, because of the large size of the colormap table that 
  2692.        would be required (usually, only 8-bit images actually contain a 
  2693.        colormap).
  2694.  
  2695.        \bf Procedure for converting a 24-bit image to an 8-bit image
  2696.        with a desired colormap. \rm
  2697.        
  2698.        A common operation is reducing a color image to 8 bits, with the
  2699.        constraint that the colormap should be the same as that of some
  2700.        other image. For example, a grayscale image might be accidentally 
  2701.        converted to 24 bits/pixel and it is desired to reconstruct the
  2702.        original continuous color map.
  2703.        
  2704. \item{1.} Select ``Color...Colormap...Select colormap''.
  2705.  
  2706. \item{2.} Click Ok and select the desired colormap. 
  2707.  
  2708. \item{1a-2a.} Alternatively, the colormap of some other image can be copied
  2709.        by selecting ``File...Create/Resize object'' and clicking on 
  2710.        ``Method...Copy colormap only''.  The colormap of the image specified
  2711.        under ``Image \# to copy'' will be copied to the currently-selected
  2712.        image.
  2713.        
  2714. \item{3.} Select ``Config...Configure'' and change the ``Color reduction method''
  2715.        to ``Fit current colormap''.
  2716.  
  2717. \item{4.} Select ``Color...Change color depth'' and convert the image to
  2718.        the new depth (i.e., 1 byte/pixel).
  2719.  
  2720.  
  2721.  
  2722. \bigskip\hrule\
  2723. \vfill\eject
  2724. \bigskip\hrule\bigskip
  2725. \bba { 8.1.1.1 Reading CT, X-ray, or MRI images, or raw bytes }
  2726. \bigskip
  2727. \hrule\bigskip
  2728. \rm
  2729.  
  2730.  
  2731.      Below is a detailed example for reading images produced by X-ray,
  2732.      CT or nuclear magnetic resonance scanners and other equipment. These 
  2733.      machines typically use unusual file formats not recognized by TN-Image, 
  2734.      but usually the images can easily be read as ``raw bytes''.
  2735.      
  2736.      The same procedure is applicable to any non-compressed file of 
  2737.      unknown type.
  2738.      
  2739. \bf   NOTE:
  2740. \rm   The DOS Registered version and Unix versions of TN-Image can be used to create 
  2741.      a ``custom''
  2742.      image file format, which is a superior method for reading medical image
  2743.      files, because once the custom format is set up, reading the image is
  2744.      transparent to the user, obviating the necessity for reading ``raw 
  2745.      bytes'' as described here (See ``Create File Format'').
  2746.  
  2747.  
  2748.      (1) Select ``File...Load image'' and enter the image file name.
  2749.  
  2750.      (2) Click on ``Raw bytes''.
  2751.  
  2752.      (3) Click on ``OK''.
  2753.  
  2754.      (4) TN-Image will make a guess at the image width. If the image width 
  2755.          is known, enter the image width and height. Otherwise, if the guess 
  2756.          turns out to be wrong, use the auto-increment method described below
  2757.          to determine the width. In this case, the width happens to be 381.
  2758.  
  2759.      (5) Select the bits/pixel of the image. This is usually 12 or 16 for
  2760.          CT images (MAMOGRAM.LUM is 16 bits).
  2761.  
  2762.      (6) (Optional): If the length of the image file header is known, 
  2763.          enter this  value under ``skip bytes''. Otherwise, leave it as 0. 
  2764.  
  2765.      (7) Click on ``OK'' to load the image.
  2766.  
  2767.      (8) Once the image is loaded, if the skip bytes were incorrect in
  2768.          step 6, the image border will be visible as a vertical strip in
  2769.          the image. Use the mouse to locate the X-position of this strip.
  2770.          Unload the image and re-load it, using the X-position * bytes/pixel
  2771.          as an estimage for skip bytes.
  2772.  
  2773.      (10) If the image was color, it may be necessary to add 1,2, or 3
  2774.          additional skip bytes to get the colors to line up correctly.
  2775.          
  2776.      (11) If the image is grayscale, the grayscale mapping can be adjusted
  2777.          by selecting ``Color... Change colormap... Grayscale brightness/
  2778.          contrast''. This allows you to interactively adjust the appearance
  2779.          of the image as a sliding scale, to highlight areas of different
  2780.          intensity (See ``Grayscale brightness'' below).
  2781.          
  2782.      (12) The image can now be saved in a conventional file format.  
  2783.              
  2784. \bigskip             
  2785.      Determining the width of an unknown image:
  2786.      
  2787.         TN-Image has a unique feature for determining the width of an 
  2788.      image whose dimensions are completely unknown. This procedure is
  2789.      substituted for step (4) above:
  2790.  
  2791.      (4a) Make a conservative guess of the image width. For instance, if 
  2792.           the image is known to be square, and it is 16 bits (2 bytes)
  2793.           per pixel, use
  2794.  
  2795.                $$  width =  \sqrt( file size / 2 ) $$
  2796.  
  2797.           as your starting estimate. 
  2798.  
  2799.      (4b) Click on ``Auto increment''. This will cause the width to be
  2800.           increased with each scan line.
  2801.  
  2802.      (4c) For ``Increment'', enter ``1'' or ``2''.
  2803.  
  2804.      (4d) Click on ``OK'' to load the image. The image should consist of
  2805.           a swirling pattern, with fuzzy lines in a horizontal ``U'' shape.
  2806.           Usually, the image is slightly clearer at the vertex (marked
  2807.           with a *). If so, find the Y-coordinate of the vertex using
  2808.           the mouse. Subtract 32 (the size of the menu bar) from this
  2809.           value and add the result to your previous estimate of the 
  2810.           image width.
  2811.  
  2812.      (4e) Unload the image. 
  2813.  
  2814.      (4f) Turn off ``Auto increment'' and load the image again. The image
  2815.           should now be recognizable. If the image slopes to the right
  2816.           as you move down the screen, this means the value is still too
  2817.           low. Increase the image width slightly and try again. If it
  2818.           slopes left, the value is too high.
  2819.           
  2820.           If the image is still not recognizable after these steps,
  2821.           try changing the byte order, or check the ``Convert--gray scale''
  2822.           option. 
  2823.           
  2824.           If you selected the wrong number of bits/pixel or y size for
  2825.           a ``raw bytes'' image, the automatic grayscale detection 
  2826.           may estimate tne maximum and minimum gray levels incorrectly.
  2827.           This will result in an image that is too dark or too light.
  2828.           This can be easily corrected by remapping the gray levels
  2829.           (See \it Grayscale intensity mapping \rm).
  2830.  
  2831. \bigskip\hrule\
  2832. \vfill\eject
  2833. \bigskip\hrule\bigskip
  2834. \bba { 8.1.1.2  Reading raw byte files }
  2835. \bigskip
  2836. \hrule\bigskip
  2837. \rm
  2838.  
  2839.        The .IMG files produced by some other software contains a value 
  2840.        for the image width that is off by 1. Thus, in order to read the 
  2841.        image properly, it is necessary to read the image as ``raw bytes''.
  2842.        After manually changing the width from 511 to 512, the file will
  2843.        read normally.
  2844.  
  2845. \bigskip\hrule\bigskip
  2846. \bba { 8.1.1.3  Reading Images from Macintoshes }
  2847. \bigskip
  2848. \hrule\bigskip
  2849. \rm
  2850.  
  2851.        Files imported from Macintosh via Mac-TCP are corrupted by the 
  2852.        addition of an extra header unless they are sent as ``Raw Binary''. 
  2853.        This often creates the impression
  2854.        that PC-based programs are incapable of reading Macintosh images.
  2855.        TN-Image, however, automatically detects the presence of the header 
  2856.        and eliminates it before reading any image.
  2857.  
  2858.  
  2859. \bigskip\hrule\bigskip
  2860. \bba { 8.1.1.4  Reading Raw ASCII images }
  2861. \bigskip
  2862. \hrule\bigskip
  2863. \rm
  2864.  
  2865.        Raw ASCII images consisting of a series of integers are readable
  2866.        by TN-Image. To read an image in ASCII format, you must select 
  2867.        \it Raw ASCII \rm as the File Type in the Load Menu. Then set the 
  2868.        remaining parameters the same way as for \it Raw Bytes \rm (Sec. 8.1.1.1). 
  2869.        Some of the options (such as bit packing) do not apply to ASCII files
  2870.        and their setting is ignored. 
  2871.  
  2872.  
  2873. \bigskip\hrule\bigskip
  2874. \bba { 8.1.1.5  Reading 3D images (Unix version only)}
  2875. \bigskip
  2876. \hrule\bigskip
  2877. \rm
  2878.  
  2879.        Select ``File type = Raw 3-D'', select a filename, and then enter
  2880.        the following information:
  2881.        
  2882.        No. of frames = Total number of sub-images in the file.
  2883.        
  2884.        Frame width(pixels) = The width of each frame in pixels.
  2885.  
  2886.        Frame height(pixels) = The height of each frame in pixels.
  2887.  
  2888.        Bits/pixel = The image depth (8,15,16,24, or 32).
  2889.  
  2890.  
  2891.        Currently, only raw 3-D images are supported.
  2892.        
  2893.  
  2894. \bigskip\hrule\bigskip
  2895. \bba { 8.1.1.5  Reading images from confocal microscopes and PET scanners}
  2896. \bigskip
  2897. \hrule\bigskip
  2898. \rm
  2899.  
  2900.        These images, which contain multiple views in 3 dimensions, must 
  2901.        sometimes be read 
  2902.        as Raw 3D images. Typically, the image size for confocal images
  2903.        is 512 x 512.  PET scan images are typically 128 x 128. It is necessary
  2904.        to know the number of frames (slices) in the image. Most PET scan images
  2905.        are only 8 bits/pixel, while confocals often produce 24 bit/pixel images.
  2906.  
  2907.  
  2908.  
  2909. \vfill\eject
  2910. \bigskip\hrule\bigskip
  2911. \bbb { 8.1.2  Save image }
  2912. \bigskip
  2913. \hrule\bigskip
  2914. \rm
  2915.  
  2916.  
  2917.        Transfers an image or selected portion of the screen to a disk file.
  2918.  
  2919. \medskip
  2920. \it      File format         
  2921. \rm
  2922.        
  2923.        Format in which to save the image. See \it Custom format \rm below
  2924.        for details on creating files in your own customized format).
  2925.  
  2926. \medskip
  2927. \it       Save entire image/selected region -
  2928. \rm
  2929.  
  2930.        If ``entire image'' is selected, the currently-selected image will
  2931.        be saved in its entirety. Otherwise, only the currently-selected
  2932.        screen region (which can beyond an image or contain  2  or  more
  2933.        images)  will  be  saved. The actual size of the region saved is
  2934.        displayed after the file is written.
  2935.  
  2936. \medskip
  2937. \it       Bits/pixel - 
  2938. \rm
  2939.        
  2940.        You  can  select  standard  values  of  1,8,15,16,24,   or   32
  2941.        bits/pixel,  or  select  ``other''  to  specify  any  other value
  2942.        between 1 and 32. The resulting file size  is  proportional  to
  2943.        the  bits/pixel.  This  can result in a considerable savings in
  2944.        disk space. Monochrome (1 bit/pixel) is ideal for line drawings
  2945.        and graphs. Don't forget  that  saving  an  image  in  a  lower
  2946.        bits/pixel than it was created causes a loss in color accuracy.
  2947.        For  example, if you save an 8-bit image as a 3 bit/pixel image
  2948.        file, the colors in the image will look slightly different from
  2949.        the original colors when you load it back. If you save it as  a
  2950.        monochrome  (1  bit/pixel)  image,  all pixels above 50\% of the
  2951.        maximum color will come  out  white  and  those  below  50\%  of
  2952.        maximum will come out black.
  2953.                                 
  2954. \bf       NOTE 
  2955. \rm    - Some file formats (e.g., GIF and PCX) only allow certain
  2956.        values  for  bits/pixel and number of colors. TN-Image displays
  2957.        an error message if an illegal value is selected. 
  2958.                                 
  2959. \bf       WARNING 
  2960. \rm    - Due to limitations in  the  capabilities  of  some
  2961.        other  programs,  saving images using ``non-standard'' bits/pixel
  2962.        or using ``non-standard'' numbers of colors can result  in  image
  2963.        files  that  are  not readable by some other image viewers. For
  2964.        example, one well-known  shareware file interconversion program
  2965.        can only handle 4,8, and 24 bit/pixel TIF images, but  not  the
  2966.        common  15  and 16 bit images. One commercial Macintosh program
  2967.        can only handle 8,15,24, or 32 bit/pixel  images,  but  not  16
  2968.        bits/pixel.  Very few other programs can handle odd values such
  2969.        as 12 bits/pixel. However, these values can be extremely useful
  2970.        and widely used in handling radiological, electron  microscope,
  2971.        or MRI images, which are often of unusual pixel depths.
  2972.                              
  2973.        TN-Image  will  display  an appropriate warning if you select a
  2974.        ``non-standard'' file format.
  2975.  
  2976. \medskip\it       Treat data as Color / Gray scale -
  2977. \rm
  2978.  
  2979.        When  saving  images  greater  than  8  bits per pixel as TIF or
  2980.        Custom files, it is sometimes useful to save the image as if the
  2981.        image data represent shades of gray instead of colors. Selecting
  2982.        ``gray scale'' causes TN-Image to treat the image as if each pixel
  2983.        value was already a ``luminosity'', and skips the conversion  from
  2984.        RGB to luminosity. This setting is ignored if the image is saved
  2985.        as  8 or less bits/pixel, or if it is saved as a color image (by
  2986.        selecting ``2'' or ``3'' as the number of primary colors). Normally,
  2987.        this setting should be kept on ``Color''.
  2988.  
  2989.  
  2990. \medskip\it       Filename            - 
  2991. \rm
  2992.        The file name under which the image will be saved (can include 
  2993.        drive and path). The previous 20 filenames are kept on a stack 
  2994.        and can be selected with the up and down arrow keys.
  2995.  
  2996.  
  2997. \medskip\it       Image no.           - 
  2998. \rm                             
  2999.        Indicates  the  currently-selected  image which will be saved if
  3000.        you have selected ``save entire image''. Has no effect if you  are
  3001.        saving   a   ``selected   region''.  This  option  is  mainly  for
  3002.        informative purposes and does not normally need to be changed.
  3003.  
  3004. \medskip\it       Extra TIF Param.(for `Other') -
  3005. \rm
  3006.  
  3007.        If you select \it Other \rm, it is also possible to customize several 
  3008.        additional parameters. Currently, these values only have an effect
  3009.        for TIF and ``custom'' file formats.
  3010.                            
  3011. \medskip\it       No.of primary colors(1-4) - 
  3012. \rm 
  3013.       
  3014.        If you select ``1'', the image will  be  converted  to  grayscale
  3015.        (``luminosity'')  before  saving,  and  the red, green, blue, and
  3016.        black bits/pixel specified below are  ignored.  If  you  select
  3017.        more  than  1  color,  the  number of bits for each color, when
  3018.        added together, must equal the total number of  bits/pixel  you
  3019.        specified  under  ``other  bits/pixel''.  If they don't, TN-Image
  3020.        displays a message to that effect.
  3021.  
  3022. \item {} \it      Red bits/pixel    \rm No.of bits of red to save.
  3023. \item {} \it      Green bits/pixel  \rm No.of bits of green to save.
  3024. \item {} \it      Blue bits/pixel   \rm No.of bits of blue to save.
  3025. \item {} \it      Black bits/pixel  \rm No.of bits of black to save (CMYK files only).
  3026.           
  3027. \medskip
  3028.        For example, to save only 4 bits each of the red and blue planes 
  3029.        of your image, set the following values:
  3030.  
  3031. \item {}                      `Other' bits/pixel (on left side of  dialog box)   = 8
  3032. \item {}                       Number of primary colors = 2
  3033. \item {}                       Red bits/pixel   = 4
  3034. \item {}                       Blue bits/pixel  = 4
  3035. \item {}                       Green bits/pixel = 0
  3036. \item {}                       Black bits/pixel = 0
  3037.  
  3038. \medskip\bf
  3039.        NOTE: 
  3040. \rm    TN-Image currently cannot display more than 8  bits/pixel
  3041.        of each color (i.e., a total of 24 bits/pixel). 
  3042.        This is due mainly to limitations in the current
  3043.        generation  of  PC  video cards. Thus, there is no advantage in
  3044.        setting the bits/pixel for any one color higher than ``8''.
  3045.  
  3046. \medskip
  3047.        You can only specify black bits/pixel if the ``cmyk''  option  is
  3048.        checked.
  3049.           
  3050. \medskip\it       RGB to CMYK  -
  3051. \rm
  3052.        
  3053.        Convert the image from  RGB to CMYK (cyan, magenta, yellow \&
  3054.        black) format when saving. (When reading a CMYK  image,  it  is
  3055.        automatically  converted  to RGB for display, since there cannot be a ``CMYK
  3056.        computer monitor''). If you are using a non-standard  bits/pixel
  3057.        mode,  you also need to specify the number of red, blue, green,
  3058.        and black  bits/pixel  (the  values  will  be  changed  to  the
  3059.        corresponding   c,m,y,   and   k   values).  If  you  select  a
  3060.        non-standard format, TN-Image will display a  warning  to  that
  3061.        effect.  Selecting  CMYK  is only allowed for the 32 bit/ pixel
  3062.        standard mode and the ``Other'' (non-standard) mode.  If you  try
  3063.        to  save an image with CMYK checked in any other mode, TN-Image
  3064.        will  display  an  error  message.  This  is  because  the  TIF
  3065.        specification (as of version  6.0)  does  not  recommend  using
  3066.        lower color depths for CMYK.
  3067.        
  3068.        This option is useful for exporting the image to other programs
  3069.        which cannot create their own CMYK images for printing.
  3070.  
  3071. \medskip\it       JPEG quality factor - 
  3072. \rm 
  3073.       
  3074.        An integer between 1 and 99. Values above 90 or below 10 are not 
  3075.        recommended. Smaller values result in greater compression and 
  3076.        more signal loss. 
  3077.        
  3078. \bf       NOTE:
  3079. \rm    Jpeg is a lossy file format. This means an image saved in
  3080.        JPEG format will lose some information. Images consisting of text 
  3081.        and sharp lines are not good candidates for Jpeg compression, 
  3082.        because the compression algorithm is optimized for realistic 
  3083.        scenes such as images from photographs. Files should only be 
  3084.        saved in Jpeg format when all image processing has been completed,
  3085.        and the smallest possible size is needed.
  3086.        
  3087.        Also, some settings, such as red, green, blue, and black bits/
  3088.        pixel, and CMYK conversion, are ignored for JPEG.
  3089.        
  3090.        
  3091.  
  3092. \vfill\eject
  3093. \bigskip\hrule\bigskip
  3094. \bbb { 8.1.3   Printing images }
  3095. \bigskip
  3096. \hrule\bigskip
  3097. \rm
  3098.  
  3099.     Prints the image or selected portion of the screen on a laser printer.
  3100.     A laser or inkjet printer that uses a page control language similar 
  3101.     to Hewlett-Packard's PCL3 or PCL5, or any PostScript printer supporting
  3102.     PostScript Level 2 or above is required. (Postscript Level 2 is not to
  3103.     be confused with ``PostScript Type 2 Fonts'', which don't exist).
  3104.  
  3105.  
  3106. \bigskip\hrule\bigskip
  3107. \bba { 8.1.3.1 Printing Black-and-White or gray scale images }
  3108. \bigskip
  3109. \hrule\bigskip
  3110. \rm
  3111.  
  3112.     Most  laser  printers  are optimized to print text. This means the
  3113.     pixels are printed by the printer as dark as possible and adjacent
  3114.     pixels partially overlap. The effect that  this  has  on  graphics
  3115.     printing  is  that  the  darkest  50\%  of the image will appear as
  3116.     black. For example, if you are printing at 8x8 dithering mode  (64
  3117.     gray  levels),  shades  1-32 will appear white to black and shades
  3118.     33-64 will all appear black. Thus, your gray-scale  resolution  is
  3119.     effectively  cut in half. Although you can make your image lighter
  3120.     before printing or select a lighter setting from TN-Image, the only
  3121.     way to avoid any loss of resolution is  to  set  your  printer  to
  3122.     print  lighter.  This  is  easy  to  do but varies from printer to
  3123.     printer. See your printer manual for the procedure. 
  3124.  
  3125.     To  select  a  lighter  print  intensity  from  TN-Image,   select 
  3126.     `file...print' from the menu, then click on `printer color adjustment'.
  3127.     Adjust the red, green, or blue intensity factors as desired. 128 is  
  3128.     normal (dark) printing. Any other values will be multiplied by 
  3129.     the data going to the printer to make it lighter or darker.  
  3130.     If you are using a monochrome printer, be sure to select ``B/W or
  3131.     grayscale''. The red, green, and blue intensity factors will be 
  3132.     averaged for grayscale printing.
  3133.  
  3134.     Currently, only laser and inkjet (bubble jet) printers are supported. 
  3135.     No support is planned for dot-matrix printers, because the
  3136.     image quality would be unacceptably low. 
  3137.  
  3138.     Print quality can often be improved by using glossy paper sold for
  3139.     pen plotters instead of regular paper.
  3140.  
  3141. \medskip\bf
  3142.        ---Column 1---
  3143.  
  3144.  
  3145. \medskip\it       Vertical/Horizontal   
  3146. \rm                          - Selects whether image will be printed
  3147.                                in ``portrait'' (vertical) or ``landscape''
  3148.                                (horizontal) mode.
  3149.  
  3150.  
  3151. \medskip\it       Positive/Negative  
  3152. \rm                          - Print normally (white on the screen =
  3153.                                white on the paper) or as a negative.
  3154.  
  3155. \medskip\it       Print entire image/ print selected area
  3156. \rm                           - Select whether to print the entire
  3157.                                currently-selected image, or the
  3158.                                currently-selected screen area which
  3159.                                may span 2 or more images.
  3160.  
  3161. \medskip\it       Color type  \it See Sec. 8.1.3.2   
  3162. \rm    
  3163.  
  3164.  
  3165. \medskip\it       Printer type: PCL / PostScript          
  3166. \rm                           - Select printer language to use. 
  3167.  
  3168. \medskip\bf
  3169.       ---Column 2---
  3170.      
  3171.                   
  3172. \medskip\it       No. of copies  
  3173. \rm                          - Number of copies of the image to print.
  3174.                                Not all printers accept this command.
  3175.  
  3176. \medskip\it       Printer Device/file name - See Sec. 8.1.3.4
  3177. \rm 
  3178.  
  3179. \medskip\it       Color adjustment 
  3180. \rm                          - Darkness of printed image (255=darkest).
  3181.                                The red, green, and blue factors are averaged
  3182.                                when \it color type \rm is ``B/W''.
  3183.  
  3184. \medskip\it       Vert. offset (inches)
  3185. \rm                           - Offsets the image by the specified no. of
  3186.                                 inches down the page.
  3187.  
  3188. \medskip\it       Horiz. offset (inches)
  3189. \rm                           - Offsets the image by the specified no. of
  3190.                                 inches to the right across the page.
  3191.  
  3192. \vfill\eject
  3193. \medskip\it       Media type 
  3194. \rm                             - Optimizes the output for the type of
  3195.                                   paper being used. 
  3196.                                   The following table shows the differences
  3197.                                   used for different media types on a typical
  3198.                                   PCL printer:
  3199.  
  3200. \medskip
  3201. \settabs 4 \columns
  3202. \+ \hfil Media    &  Print       &     No. of   & Recommended   \cr  
  3203. \+ \hfil Type     &  Quality     &    passes$^1$& Depletion$^1$ \cr
  3204. \+ \hfil ------   &  --------    &     -------- & -----------   \cr
  3205. \+ \hfil Plain    & Draft        &       1      & --            \cr
  3206. \+ \hfil          & Normal       &       2      & 25\% w/gamma  \cr
  3207. \+ \hfil          & Presentation &       4      & 50\% w/gamma  \cr
  3208. \+ \hfil Bond     & Draft        &       1      & --            \cr
  3209. \+ \hfil          & Normal       &       2      & 25\% w/gamma  \cr
  3210. \+ \hfil          & Presentation &       4      & 50\% w/gamma  \cr
  3211. \+ \hfil Premium  & Draft        &       1      & --            \cr
  3212. \+ \hfil          & Normal       &       2      & 25\% w/gamma  \cr
  3213. \+ \hfil          & Presentation &       4      & 50\% w/gamma  \cr
  3214. \+ \hfil Glossy   & Draft        &       2      & 25\%          \cr 
  3215. \+ \hfil          & Normal       &       4      & 25\%          \cr
  3216. \+ \hfil          & Presentation &       4      & 0\%           \cr
  3217. \+ \hfil Transpar-& Draft        &       2      & 25\%          \cr
  3218. \+ \hfil   ency   & Normal       &       4      & 25\%          \cr
  3219. \+ \hfil          & Presentation &       4      & 0\%           \cr
  3220.                                             
  3221. \medskip
  3222.                                   On certain printers, e.g., H/P 540, the
  3223.                                   number of passes and the depletion are 
  3224.                                   determined automatically by the printer 
  3225.                                   and may differ from the value in the table.
  3226.                                   On some other printers, depletion and no.
  3227.                                   of passes cannot be changed, and setting
  3228.                                   them to different values has no effect.
  3229.  
  3230.                                   $^1$ Recommended by H/P.
  3231.  
  3232. \bigskip
  3233. \bf PCL Printer settings
  3234. \rm
  3235.  
  3236.     For PCL printers, such as the HP LaserJet and most inkjet printers, 
  3237.     the following options also apply:
  3238.  
  3239. \bigskip
  3240.  
  3241.  
  3242. \medskip\it       Resolution  
  3243. \rm                           - Selects the desired dots/inch resolution
  3244.                                to print the image. Normally this is
  3245.                                set to the highest value your printer
  3246.                                can handle (see discussion above).
  3247.  
  3248.                                Typical values are:
  3249.  
  3250.                                     150 dpi  
  3251.  
  3252.                                     300 dpi
  3253.  
  3254.                                     600 dpi    
  3255.  
  3256.                                     1200 dpi
  3257.  
  3258.                                This number must be set \bf exactly \rm.
  3259.                                For example, a 300 dpi printer may ignore
  3260.                                the setting, or it may print nothing at all
  3261.                                if the resolution is set at 299 or 301.     
  3262.  
  3263. \medskip\it       Dither size 
  3264. \rm                          - Determines the number of separate gray or 
  3265.                                color levels that can be printed:
  3266.    
  3267. \medskip
  3268.  
  3269. \settabs 2 \columns
  3270. \+  \hfil    Dithering   &No. of gray/            \cr
  3271. \+  \hfil     size       &color levels            \cr
  3272. \+  \hfil    --------    &------------            \cr
  3273. \+  \hfil      1x1       &     2                  \cr
  3274. \+  \hfil      2x2       &     4                  \cr
  3275. \+  \hfil      4x4       &    16                  \cr
  3276. \+  \hfil      8x8       &    64                  \cr
  3277. \+  \hfil     16x16      &   256                  \cr  
  3278.  
  3279.  
  3280. \medskip
  3281.  
  3282.                                The size of the printed image also increases
  3283.                                proportionately with the dithering size.
  3284.                                No ``error propagation'' is performed, in order
  3285.                                to maximize resolution for text.
  3286.  
  3287.  
  3288. \medskip\it
  3289.        Print Quality:         
  3290.            Draft/
  3291.            Normal/
  3292.            Presentation
  3293. \rm                           - Selects the quality of printout. Presentation
  3294.                                quality takes longer, but gives slightly 
  3295.                                better results.
  3296.  
  3297.                                Not all printers support this option.
  3298.  
  3299. \medskip\it
  3300.    
  3301.  
  3302. \medskip                                 
  3303. \it       Depletion --            
  3304. \rm                               Improves image quality by removing a 
  3305.                                   certain percentage of the pixels. It is
  3306.                                   recommended to leave this setting at
  3307.                                   ``printer default'' unless unsatisfactory
  3308.                                   results are obtained.
  3309.                                   The highest two settings also apply
  3310.                                   gamma correction to the printed image, if
  3311.                                   this feature is supported by your printer.
  3312.                                   Gamma correction produces a smoother
  3313.                                   transition from one color to the next.
  3314.                                   
  3315.                                   See the table above for recommended
  3316.                                   depletion levels.
  3317.  
  3318. \it                               Not all printers support this option.
  3319. \medskip           
  3320.                       
  3321.        Printer gray balance    
  3322. \rm                             - If checked, the internal gray balance
  3323.                                   adjustment in the printer will be activated
  3324.                                   if present. This is supposed to adjust the
  3325.                                   colors so that blacks appear black instead
  3326.                                   of dark green. Do not check this box if
  3327.                                   you have changed any of the values under
  3328.                                   ``Printer color adjustment'' (see above),
  3329.                                   since this would result in correcting the
  3330.                                   gray balance twice. If your printer does
  3331.                                   not support this option, checking this
  3332.                                   will have no effect.
  3333.                                  
  3334.  
  3335. \bigskip           
  3336.  
  3337. \bigskip
  3338. \bf PostScript Printer settings
  3339. \rm
  3340.  
  3341.     For PostScript printers, the following additional options apply:
  3342.  
  3343. \medskip\it 
  3344.        Horizontal image size (inches)
  3345.  
  3346.        Image ratio (y/x)
  3347.        
  3348. \rm                            - The output will be scaled accordingly to
  3349.                                  shrink or enlarge the image to the specified
  3350.                                  size.
  3351.                                  
  3352. \medskip\it 
  3353.        Rotation (Degrees)    
  3354. \rm
  3355.                              - The printout will be rotated 
  3356.                                  counterclockwise by the specified angle. The
  3357.                                  angle is centered at the lower left corner
  3358.                                  of the paper. Note that a rotation may
  3359.                                  cause part of the image to be off the page
  3360.                                  unless 'horizontal position' is also
  3361.                                  adjusted.
  3362.  
  3363. \medskip\it 
  3364.        Interpolate            
  3365.  
  3366. \rm                            - If checked, and if the output resolution
  3367.                                  of the printer is high enough, additional
  3368.                                  pixels will be added to smooth the output. 
  3369.  
  3370. \medskip
  3371. \bf       NOTE: \it PostScript Level 2 or above is required. 
  3372. \rm     
  3373.  
  3374.  
  3375. \bigskip\hrule\bigskip
  3376. \bba { 8.1.3.2 Color printing }
  3377. \bigskip
  3378. \hrule\bigskip
  3379. \rm
  3380.  
  3381.  
  3382.        Color printing uses the same parameters as B/W printing, except
  3383.        you must select RGB, CMY, or CMYK color instead of
  3384.        grayscale. Color printing can take a much longer time than B/W
  3385.        printing, and requires more printer memory if you are using a 
  3386.        laser printer. Use B/W mode whenever possible. The choice between 
  3387.        the color types is subjective; however, CMYK generally gives darker 
  3388.        blacks. 
  3389.  
  3390. \bf       NOTE: \rm You do not have to convert your image to CMYK format to
  3391.        print it in CMYK mode.
  3392.  
  3393. \medskip\it       Color type 
  3394. \rm                             - Selects color printing mode.
  3395.  
  3396. \medskip\it       Grayscale
  3397. \rm                             - Recommended for non-color printers and
  3398.                                   for monochrome images.  The pixel values
  3399.                                   are sent to the printer without
  3400.                                   filtering them through the 
  3401.                                   colormap. Thus, if you made the image
  3402.                                   lighter or darker by dragging the
  3403.                                   colormap palette, these changes will \it not \rm
  3404.                                   be reflected in the printout. This setting should 
  3405.                                   not be used for the following types of images:
  3406.  
  3407.                                   \item{1.} Images that have been converted to
  3408.                                   a lower bit/pixel depth, e.g. from 24
  3409.                                   bits/pixel to 8 bits/pixel.
  3410.                                   
  3411.                                   \item{2.} Images containing color.
  3412.                                   
  3413.                                   \item{3.} Images such as GIFs which have
  3414.                                   a discontinuous colormap. 
  3415.                                        
  3416.  
  3417. \medskip\it       RGB/indexed color 
  3418. \rm                            - Recommended selection for PostScript color printers.
  3419.                                   Not recommended for PCL inkjet printers,
  3420.                                   because some PCL printers insist on
  3421.                                   interpreting this command to mean that 
  3422.                                   all pixels not explicitly defined are
  3423.                                   to be printed as ``black''. This causes
  3424.                                   a wide black stripe to be printed next 
  3425.                                   to the image, and causes printing to
  3426.                                   take a much longer time.
  3427.                                   
  3428.                                   For PostScript printers, this is a
  3429.                                   good setting to use for both grayscale
  3430.                                   and 8-bit color images.
  3431.                        
  3432.                                   If the image is 8 bits, the colors
  3433.                                   or gray levels are determined by the
  3434.                                   colormap. If it is a true-color image,
  3435.                                   the RGB values are used directly.
  3436.                                   
  3437.                                   Prints using red, green, and blue inks
  3438.                                   if available (not supported by all
  3439.                                   printers).
  3440.               
  3441.  
  3442. \medskip\it     CMY color      
  3443. \rm                             - Recommended selection for PCL color printers.
  3444.                                   Not recommended for black \& white printers.
  3445.  
  3446.  
  3447. \medskip\it    CMYK color    
  3448. \rm                           - For color PCL printers - gives darker blacks 
  3449.                                 and brighter colors than CMY but takes 
  3450.                                 33\% longer. For PostScript printers, this
  3451.                                 option is the same as CMY.
  3452.        
  3453. \medskip\it   Printer color adjustment
  3454. \rm                             - Adjusts each color to allow you to match
  3455.                                   the printer output with the screen. For
  3456.                                   each color, a value of 128 (the default)
  3457.                                   is ``normal''. Increasing the value will
  3458.                                   increase the intensity of that color. 
  3459.                                   If CMY or CMYK is selected, the cyan,
  3460.                                   magenta, and yellow inks are changed.
  3461.                                   If RGB is selected, the red, green, and
  3462.                                   blue inks are changed. 
  3463.                                   If B/W-grayscale is selected, the black
  3464.                                   value is taken as the average of the 
  3465.                                   three color values.
  3466.                                   \bf NOTE: \rm For CMYK printing, it is
  3467.                                   important
  3468.                                   to keep the 3 colors balanced so that 
  3469.                                   the average is 128. Otherwise, the black
  3470.                                   ink, whose value is derived from the 3
  3471.                                   pigments, will also become lighter or 
  3472.                                   darker.
  3473.                                   
  3474.  
  3475. \vfill\eject       
  3476.  
  3477.  
  3478.  
  3479. \bigskip\hrule\bigskip
  3480. \bba { 8.1.3.3 Printing to a file or another printer }
  3481. \bigskip
  3482. \hrule\bigskip
  3483. \rm
  3484.  
  3485.        A 'print file' can be created by entering a filename 
  3486.        instead of a printer name under \it Printer device/file name \rm in
  3487.        the ``Print...'' menu. This will create a print file which can be 
  3488.        sent to the printer later, such as at night when it is less busy. 
  3489.        
  3490.        For example, in DOS, printing of a file can be done using the command:
  3491.  
  3492. \tt          copy /b print.tmp lpt1
  3493.  
  3494. \rm     However, \tt copy /b \rm does not work correctly on some printers. 
  3495.         In this case, you can use \hfill\break
  3496.         \tt print.exe \rm, which is a replacement 
  3497.         for DOS's  \tt print.exe \rm . 
  3498.         This program is available at the ftp site.
  3499.         Print.exe is also useful for printing large print files, such as 
  3500.         those created by Ghostscript.
  3501.        
  3502.        In Unix, printing of a file could be done using the command: 
  3503. \tt           lpr -Pmyprinter print.tmp
  3504.                     
  3505. \rm    To schedule the printing at a specific time, use a program such as 
  3506.        \tt tnshell \rm in DOS, or \tt cron \rm or \tt at \rm in Unix.
  3507.  
  3508.        If a printer device is entered, the image will be printed on that
  3509.        device. \it Printer device \rm refers to the printer name as it is 
  3510.        known  to the operating system, for example:
  3511.  
  3512.           DOS version:    lpt1   lpt2  prn 
  3513.  
  3514.        
  3515.           Unix version:   /dev/lp0  /dev/lp1 /dev/lp2 /dev/printer, etc.
  3516.  
  3517.  
  3518. \bigskip\hrule\bigskip
  3519. \bba { 8.1.3.4 Printing under Unix }
  3520. \bigskip
  3521. \hrule\bigskip
  3522. \rm
  3523.        
  3524.        The Unix version of TN-Image has the additional option \it Printer
  3525.        Name \rm. By default this is set to /dev/lp2. If you have multiple
  3526.        users on your system, or if you do not have write permission for
  3527.        /dev/lp2, it is recommended to change this to a regular file, e.g., 
  3528.        ``temp.print'' and print the file later using \tt lpr \rm. 
  3529.  
  3530.        \bf Warning: \rm If a device is specified that is not a printer or a 
  3531.        file, bad things will happen.                          
  3532.  
  3533.        Alternatively, in the box ``Printer command'', a command can be entered, 
  3534.        such as  $\tt lpr -P\it printer \tt -K\it copies\rm$.
  3535.                                  
  3536.  
  3537.  
  3538.  
  3539.  
  3540. \bigskip\hrule\bigskip
  3541. \bba { 8.1.3.5 Printing in Windows }
  3542. \bigskip
  3543. \hrule\bigskip
  3544. \rm
  3545.  
  3546.        In Windows and Windows95, it is possible to print to any network printer
  3547.        provided the printer has been set up correctly with the Print Manager.
  3548.        There are two ways of doing this: ``capturing a printer port'', and
  3549.        directly printing to a Windows-style shared printer name. If the ``Capture
  3550.        Printer Port'' in Windows is clicked, printing to DOS printer devices
  3551.        lpt1 to lpt4 is captured and sent to the specified network address.
  3552.        In this case, ``\tt lpt1\rm'' to ``\tt lpt4\rm'' should be entered. 
  3553.        Otherwise, enter a Windows address such as
  3554.        ``\tt \bs \bs MY\_NT\_SERVER\bs ITS\_PRINTER\rm''. Printer port capture
  3555.        must be ``off'' for the specified printer in order for this to work.
  3556.        
  3557.  
  3558. \vfill\eject
  3559. \bigskip\hrule\bigskip
  3560. \bbb { 8.1.4 Change Title }
  3561. \bigskip
  3562. \hrule\bigskip
  3563. \rm
  3564.  
  3565.  
  3566.        Changes the name of the image. This must be a valid filename.
  3567.        If the title contains illegal characters (such as spaces or 
  3568.        control characters in the DOS version), they are automatically 
  3569.        removed and an error message is displayed.
  3570.  
  3571.  
  3572.  
  3573. \bigskip\hrule\bigskip
  3574. \bbb { 8.1.6  Create/Resize Object }
  3575. \bigskip
  3576. \hrule\bigskip
  3577. \rm
  3578.        You can create a new object by clicking and dragging with the mouse,
  3579.        setting a fixed size and position, copying another image, or 
  3580.        resizing another image.  An object can be a label, graphic element,
  3581.        or a complete image.
  3582.     
  3583.        For \it fixed size \rm, you must enter the x and y size (in pixels), and 
  3584.        the x and y position for the upper left corner of the object. The 
  3585.        screen contents at the specified location will be copied into the 
  3586.        new object.
  3587.     
  3588.        For \it use mouse \rm, use the mouse to select the region for the new object.
  3589.        The screen contents at that location will be copied into the new 
  3590.        object. The other parameters will be ignored.
  3591.     
  3592.        For \it copy another image \rm, enter the image number of the image to 
  3593.        duplicate and the x and y position for the upper left corner of the 
  3594.        new image. 
  3595.  
  3596.        For \it resize another image \rm, enter the image number of the image to 
  3597.        duplicate, the new x and y size (in pixels), and the x and y position 
  3598.        for the upper left corner of the new image. Any space beyond the
  3599.        copied image will be set to black.
  3600.  
  3601.        Once created, the properties of the object (such as transparency, title,
  3602.        etc.) can be changed in the ``Image...Image properties'' dialog.
  3603.  
  3604.       \bf Note: \rm If the foreground object is a transparent or chroma-keyed
  3605.       image, make certain the cursor is actually on a foreground pixel when 
  3606.       using the mouse to create a new image. Otherwise, the background image 
  3607.       will be brought to the foreground when the left mouse button is clicked.
  3608.       This behavior can be prevented by un-checking ``Raise image on focus''
  3609.       in the ``Configuration'' dialog.
  3610.  
  3611. \bigskip\hrule\bigskip
  3612. \bbb { 8.1.7  Switch to  }
  3613. \bigskip
  3614. \hrule\bigskip
  3615. \rm
  3616.        Make some other image the currently-selected, foreground image.
  3617.        This option has been replaced by ``About the program...'', which
  3618.        can also switch images.
  3619.  
  3620.  
  3621. \bigskip\hrule\bigskip
  3622. \bbb { 8.1.8  Create file format }
  3623. \bigskip
  3624. \hrule\bigskip
  3625. \rm
  3626.  
  3627.  
  3628.        Defines a new image file format. This allows you to add up to 100
  3629.        new formats to TN-Image, or create your own customized format.
  3630.        Once defined, the new format is automatically recognized by
  3631.        TN-Image and can be loaded and saved without any special action 
  3632.        on your part.
  3633.        
  3634.        If you know certain basic details about the image format, 
  3635.        or have a sample image file already in that format, you can easily
  3636.        create an image file in almost any file format imaginable, which
  3637.        will be readable by any Intel-based PC, Macintosh, IBM mainframe,
  3638.        and many UNIX systems. 
  3639.        
  3640.        Custom formats are particularly useful if reading medical images
  3641.        from an X-ray scanner, which vary from one manufacturer to the other.
  3642.        Currently, only uncompressed custom formats are available. 
  3643.        
  3644.        Of course, with this much flexibility it is impossible to test 
  3645.        every possible combination of parameters on every destination platform,
  3646.        so you should always make a test image before proceeding to make
  3647.        sure the file is readable on your non-PC system.
  3648.    
  3649. \smallskip    
  3650.        \bf IMPORTANT \it 
  3651.        Always test to make sure your custom file is readable on the target 
  3652.        system before erasing the original!
  3653. \rm
  3654. \smallskip
  3655.  
  3656.        The information you need to know is: 
  3657.    
  3658. \item{1}  Bits/pixel that the destination system expects. This can be
  3659.        calculated from the number of colors on the screen, using the formula
  3660.  
  3661. \hskip 1 in                No. of colors =  $2 ^ {(Bits/pixel)}$.
  3662.  
  3663.        Thus, if there are only 2 colors (black and white), there is 1 bit
  3664.        per pixel.
  3665.    
  3666. \item{2}  Destination system - If the destination computer is not a 
  3667.        PC, Mac, or IBM mainframe, pick whichever seems closest. Many UNIX
  3668.        systems use ``big-endian''-type processors similar to the Mac. VMS
  3669.        systems use ``little-endian'' processors similar to the PC.
  3670.       
  3671. \item{3} Size of the image file header. To get this information, you
  3672.        can either guess, or view your sample image with a hex editor.
  3673.        Often it is a power of 2 (32, 128, etc).
  3674.       
  3675. \item{4} Offset of the x and y size - This is the most difficult step
  3676.        if you are unfamiliar with hex notation. If you can't make a guess,
  3677.        if you are a registered user you can send us a copy of your sample 
  3678.        image and we will determine these numbers for you. 
  3679.  
  3680. \item{5} The no. of primary colors (1 for grayscale or 3 for color).
  3681.     
  3682. \proclaim       Example 1: 
  3683.        Creating a file format for images from a Lumisys X-ray 
  3684.        scanner.  No sample image file is needed.
  3685.  
  3686. \item{1}   Select ``File...Create file format''.
  3687.  
  3688. \item{2} Set the following settings in the dialog box:
  3689. \medskip
  3690. \settabs 2 \columns
  3691. \+  \hskip 1 in         Target platform      &-  Mac             \cr
  3692. \+  \hskip 1 in         Bit packing          &-  None            \cr
  3693. \+  \hskip 1 in         Format Identification&-  By Extension    \cr
  3694. \+  \hskip 1 in         Extension            &-  LUM             \cr
  3695. \+  \hskip 1 in         Identifier           &-  \it(leave blank)\rm\cr
  3696. \+  \hskip 1 in         Bytes to skip        &-  2048            \cr
  3697. \+  \hskip 1 in         Use header           &-  (not checked)   \cr
  3698. \+  \hskip 1 in         Header file          &-  \it(leave blank)\rm\cr
  3699. \+  \hskip 1 in         Header bytes         &-  0               \cr
  3700. \+  \hskip 1 in         Default bits/pixel   &-  16              \cr
  3701. \+  \hskip 1 in         Default No.of colors &-  1               \cr
  3702.  
  3703. \medskip
  3704. \item{3}   Set the following file offsets:
  3705.  
  3706. \settabs 2 \columns
  3707. \+  \hskip 1 in         x size             &  -  806  \cr
  3708. \+  \hskip 1 in         y size             &  -  808  \cr
  3709. \+  \hskip 1 in         Bits/pixel         &  -  810  \cr
  3710. \+  \hskip 1 in         All others         &  -  --1 \it(or 65535) \rm  \cr
  3711.  
  3712. \item{4}  Then click on ``OK''. The new file format has been created.
  3713.  
  3714. \item{5}  Reading and creating images in the new format will now occur
  3715.           transparently. 
  3716. \medskip
  3717.           Care must be taken not to allow the offsets (which take 2 bytes 
  3718.           each) to overlap with each other or with your identifier. The 
  3719.           identifier itself cannot exceed 40 characters. If an identifier
  3720.           is specified, the image file must contain it at the specified
  3721.           offset. If an identifier is not specified, the image file must
  3722.           have the specified 3-letter file extension (``LUM'' in this case).
  3723.  
  3724. \it          ``Bytes to skip'' \rm must be a multiple of 2 in this case, because 
  3725.           there are 2 bytes (16 bits) per pixel. If you skip an odd number
  3726.           of bytes, the image will look strange because the light and dark
  3727.           areas are partially reversed. 
  3728.           
  3729.           Similarly, if the wrong target platform is selected, the image
  3730.           could look posterized or grainy, because the bytes are being put
  3731.           into the wrong pixels. It is sometimes necessary to experiment
  3732.           if you have an unknown image format.
  3733.  
  3734.  
  3735. \medskip
  3736. \proclaim   Example 2: Creating an IMDS file. IMDS is a little-known and rarely 
  3737.        used monochrome format similar to GEM's IMG format, except that IMDS
  3738.        was used on IBM mainframes running MVS, and there seems to be no 
  3739.        documentation for it.
  3740.     
  3741. \medskip
  3742. \item{1}  Select ``File...Create file format''.
  3743.  
  3744. \item{2} Set the following settings in the dialog box:
  3745. \medskip
  3746. \settabs 2 \columns
  3747. \+  \hskip 1 in            Target platform      &-  MVS   \cr   
  3748. \+  \hskip 1 in            Bit packing          &-  TIF-like \cr       
  3749. \+  \hskip 1 in            Format Identification&-  By Extension \cr
  3750. \+  \hskip 1 in            Extension            &-  IMG          \cr
  3751. \+  \hskip 1 in            Identifier           &-  (none)       \cr
  3752. \+  \hskip 1 in            Bytes to skip        &-  0            \cr
  3753. \+  \hskip 1 in            Use header           &-  $\sqrt{}$(checked)\cr
  3754. \+  \hskip 1 in            Header file          &-  \it             
  3755. (Name of a sample IMDS file) \rm            \cr
  3756. \+  \hskip 1 in            Header bytes         &-  32           \cr
  3757. \+  \hskip 1 in            Default bits/pixel   &-  1            \cr
  3758. \+  \hskip 1 in            Default No.of colors &-  1            \cr
  3759. \medskip
  3760.  
  3761. \item{3}   Set the following file offsets:
  3762. \settabs 2 \columns
  3763. \+  \hskip 1 in            x size               &-  12   \cr
  3764. \+  \hskip 1 in            y size               &-  14   \cr
  3765. \+  \hskip 1 in            All others           &-  --1  \it(or 65535) \rm\cr
  3766. \medskip
  3767. \item{4}  Then click on ``OK''. The new file format has been created.
  3768.  
  3769. \item{5}  Click on an image, or select something on the screen, and
  3770.           save it in the new IMG format (by clicking on ``Format'' then
  3771.           the last ``IMG'' item. Your sample IMDS file must always be
  3772.           present to create image files in this format.
  3773.  
  3774. \item{6}  Test to make sure the image is readable. Since TN-Image
  3775.           can already read this format, simply select ``File...Read'' 
  3776.           and press \it Enter \rm. If you set the above settings correctly,
  3777.           the image should appear as a black-and-white version of
  3778.           your original. 
  3779.     
  3780. \medskip
  3781.        The default bits/pixel and default no.of colors are needed only if
  3782.        the these values are not in the header. 
  3783.  
  3784.  
  3785. \proclaim       Example 3: Define a file format for raw byte images.
  3786.        
  3787. \item{1} Select ``File...Create file format''.
  3788.  
  3789. \item{2}  Set the following settings in the dialog box:
  3790. \settabs 2 \columns
  3791. \+  \hskip 1 in         Extension            &-  RAW           \cr
  3792. \+  \hskip 1 in         Target platform      &-  PC            \cr
  3793. \+  \hskip 1 in         Bit packing          &-  None          \cr
  3794. \+  \hskip 1 in         Format Identification&-  By Extension  \cr
  3795. \+  \hskip 1 in         Identifier           &-  (none)        \cr
  3796. \+  \hskip 1 in         Bytes to skip        &-  0             \cr
  3797. \+  \hskip 1 in         Use header           &-  (unchecked)   \cr
  3798. \+  \hskip 1 in         Header file          &-  (none)        \cr
  3799. \+  \hskip 1 in         Header bytes         &-  0             \cr
  3800. \+  \hskip 1 in         Default bits/pixel   &-  8             \cr
  3801. \+  \hskip 1 in         Default No.of colors &-  1             \cr
  3802. \+  \hskip 1 in         Default x size       &-  382 \it(substitute actual size)\rm\cr
  3803. \+  \hskip 1 in         Default y size       &-  362 \it(substitute actual size)\rm\cr
  3804. \+  \hskip 1 in         Default red bpp      &-  0             \cr
  3805. \+  \hskip 1 in         Default green bpp    &-  0             \cr
  3806. \+  \hskip 1 in         Default blue bpp     &-  0             \cr
  3807. \+  \hskip 1 in         Default black bpp    &-  0             \cr
  3808. \medskip
  3809. \item{3}  Check the file offsets to make sure they are all either --1 or
  3810.           65535.
  3811.  
  3812. \item{4}  Then click on ``OK''. The new file format has been created.
  3813.           Because ``by extension'' was specified, the raw image must have
  3814.           the extension .RAW to be identified. 
  3815.  
  3816.  
  3817. \vfill\eject
  3818. \bigskip\hrule\bigskip
  3819. \bbb { 8.1.9 Save FFT }
  3820. \bigskip
  3821. \hrule\bigskip
  3822. \rm
  3823.  
  3824.        Saves the currently-selected FFT matrix to disk in ASCII format.
  3825.        This allows you to precisely change any desired frequencies with a
  3826.        text editor, then reload the FFT and reverse-transform.
  3827. \bf       Warning:\it These files can be quite large.
  3828. \rm
  3829.  
  3830. \bigskip\hrule\bigskip
  3831. \bbb { 8.1.10 Erase FFT }
  3832. \bigskip
  3833. \hrule\bigskip
  3834. \rm
  3835.    
  3836.        Erases the matrix used in storing the FFT, if a Fourier transform
  3837.        has been performed on the image, thus freeing up a considerable
  3838.        amount of memory. It will not erase the Fourier transformed image
  3839.        that appears on the screen. If no FFT's have been performed, this
  3840.        has no effect.
  3841.  
  3842. \bigskip\hrule\bigskip
  3843. \bbb { 8.1.11  Unload image  }
  3844. \bigskip
  3845. \hrule\bigskip
  3846. \rm
  3847.        
  3848.        Removes the currently-selected image from the screen and frees up its
  3849.        memory. Also erases the image's backup and its FFT if present.
  3850.        If your image is large, and there are other images above it in RAM, 
  3851.        on rare occasions it may not be possible to free the memory right 
  3852.        away. In this case, it is occasionally necessary to select \it unload 
  3853.        image \rm a second time.  Unloading an image may take several seconds
  3854.        because TN-Image performs extensive garbage collection to defragment
  3855.        memory as much as possible after an image is unloaded.
  3856.  
  3857. \bigskip\hrule\bigskip
  3858. \bbb { 8.1.12 DOS Command }
  3859. \bigskip
  3860. \hrule\bigskip
  3861. \rm
  3862.        Shell to DOS to execute a command or run a different program. Or, 
  3863.        to obtain a DOS command line, enter \tt Command\rm. Type \tt Exit
  3864.        \rm to 
  3865.        return to TN-Image. DOS requires a small amount of memory below
  3866.        1 megabyte to exit commands. Thus you could get an ``insufficient
  3867.        memory'' error even if there is a lot of high memory.
  3868.        
  3869.        This function is, of course, not available in the Unix version.
  3870.  
  3871. \bigskip\hrule\bigskip
  3872. \bbb { 8.1.13 Quit }
  3873. \bigskip
  3874. \hrule\bigskip
  3875. \rm
  3876.        Return to operating system. If any images have been modified, you
  3877.        are given an opportunity to save them. 
  3878.        Alt-X also can be used to quit.       
  3879.  
  3880.  
  3881. \bigskip\hrule\bigskip
  3882. \bbb { 8.1.14 Load FFT }
  3883. \bigskip
  3884. \hrule\bigskip
  3885. \rm         
  3886.  
  3887.        Reads a Fourier-transformed image stored in ASCII format. 
  3888.        The file format is as follows:
  3889. \item{}            FFT of (image name)
  3890. \item{}            xsize (x size in pixels)
  3891. \item{}            ysize (y size in pixels)
  3892. \item{}            Real
  3893. \item{}            (Real frequencies from row 1)
  3894. \item{}            ...
  3895. \item{}            (Real frequencies from row n)
  3896.  
  3897. \item{}            Imaginary
  3898. \item{}            (Imag frequencies from row 1)
  3899. \item{}            ...
  3900. \item{}            (Imag frequencies from row n)
  3901.  
  3902.         This format differs from the format used in TN-Image prior to
  3903.         version 2.18. The header in these earlier files must be changed
  3904.         before they can be loaded.
  3905.         
  3906.  
  3907.  
  3908. \bigskip\hrule\bigskip
  3909. \bbb { 8.1.15 Acquire }
  3910. \bigskip
  3911. \hrule\bigskip
  3912. \rm         
  3913.  
  3914.  
  3915.     (Unix version only) Acquires an image from a H/P compatible scanner.
  3916.     Currently only HP-compatible scanners are supported.
  3917.  
  3918. \vskip  0.1 in   
  3919.  
  3920.     \bba Setting up a scanner \rm
  3921.  
  3922. \vskip  0.1 in   
  3923.     
  3924.     Here is a brief outline of the procedure for attaching a scanner in
  3925.     Linux on an x86 system. For more details, consult the \it Linux SCSI-HOWTO\rm. 
  3926.     For Sun and SGI systems, these steps should not be necessary.
  3927.  
  3928. \item{1}  Install a supported SCSI-2 card and H/P scanner. One combination
  3929.     known to work is an Adaptec AHA-1542CF card and H/P 4C scanner. 
  3930.  
  3931. \item{2} Throw away the cheap printer-type cable and the SCSI card supplied with 
  3932.     the scanner and use a good quality SCSI cable (Centronics-type connector at 
  3933.     both ends) and a good SCSI card to connect the scanner. 
  3934.  
  3935. \item{3} Recompile your kernel if necessary to add ``generic SCSI'' support and support 
  3936.     for the low-level driver for your SCSI card (see the \it Linux Kernel-HOWTO\rm ). 
  3937.  
  3938. \item{4} Shut down your system and make sure the scanner and the SCSI card
  3939.     are both properly terminated.  Set the SCSI ID of the scanner to some 
  3940.     known value less than 7. Power up the scanner before turning your computer
  3941.     back on. The scanner must be connected and powered on before booting the
  3942.     computer in order to be recognized.
  3943.     
  3944. \item{5} The SCSI card should display a message at boot-up indicating its presence.
  3945.     Most Adaptec cards can be configured for IRQ, SCSI ID, etc. at this point by 
  3946.     typing Ctrl-A during boot-up. Be warned that the card will also try to write 
  3947.     to your BIOS, which on some older computers doesn't work properly and can cause 
  3948.     a loss of your computer's configuration accompanied with various unusual beeping 
  3949.     sounds. Therefore, it is prudent to record the BIOS values
  3950.     before starting.  On some computers, after adding a SCSI card, it may take 
  3951.     several tries with cold booting before the computer will boot up again. If you
  3952.     get a message such as ``CMOS Memory size mismatch'' after installing a SCSI card, 
  3953.     power the system off and try again a few times before giving up. This is not an 
  3954.     OS or TN-Image problem but is dependent on the hardware and BIOS.
  3955.  
  3956. \item{6} At boot-up, if the SCSI card is recognized, you will see a message
  3957.     such as:
  3958.     
  3959.     \tt kernel: scsi0 : Adaptec 1542
  3960.  
  3961.         kernel: scsi : 1 host.
  3962.  
  3963.     \rm If your scanner is hooked up correctly, you will also see a message 
  3964.     such as:
  3965.     
  3966.     \tt kernel: scsi: type is processor
  3967.  
  3968.         kernel:   Vendor: HP        Model: C2520A            Rev: 3503
  3969.  
  3970.         kernel:   Type:   Processor                          ANSI SCSI revision: 02
  3971.  
  3972.         kernel: Detected scsi generic sga at scsi0, channel 0, id 5, lun 0
  3973.  
  3974.         kernel: scsi : detected total.
  3975.  
  3976. \item{}\rm If this message does not appear, the most likely cause is that the scanner 
  3977.     is not terminated or an incorrect cable was used (or, quite possibly, you don't 
  3978.     actually have a scanner). Remember the device name (in this case ``sga'').
  3979.     It may be helpful to create a link to this device named ``scanner'' in /dev. 
  3980.     
  3981.  
  3982. \item{7} As a last check, `` \tt cat /proc/devices \rm '' should list 
  3983.     `` \tt 21 sg \rm '' as one of the character devices.  This device will be
  3984.     listed only if the scanner device is detected at boot-up. If it is not listed,
  3985.     it may be necessary to create a device file using MAKEDEV and then 
  3986.     change the permissions on the device file. It should look something like this: 
  3987.     
  3988. \tt     crwxrwxrwx   1 root     root      21,   0 Feb  9 17:30 /dev/scanner \rm
  3989.  
  3990.  
  3991. \vskip  0.1 in   
  3992.  
  3993.     \bba Scanning an image \rm
  3994.  
  3995. \vskip  0.1 in   
  3996.     
  3997. \item{1} Select ``File...Acquire..'' and change the scanner device name, resolution,
  3998.     brightness, contrast, etc. as desired. The scanner should immediately begin
  3999.     to scan a small, temporary, preview image. (The preview image is scanned at
  4000.     50 dpi).
  4001.  
  4002. \item{2} The dialog box will appear again. Change the contrast, brightness,
  4003.     resolution, etc. if necessary and click on ``Image scan'' and ``OK''.  
  4004.     Although it is possible to enter any number for resolution, some
  4005.     scanners may only accept specific values, such as 50, 75, 100, 150, 300, 600, 
  4006.     or 1200 dpi. Entering a resolution inappropriate for a given scanner may result
  4007.     in the parameter being ignored by the scanner.
  4008.     
  4009. \item{3} Select a region with the mouse in the preview image to scan.  During this
  4010.     phase, the mouse is constrained within the preview image to prevent scanning
  4011.     of impossible coordinates. The selected region will be outlined with a 
  4012.     ``crawling box'' and, when the mouse button is released, scanned
  4013.     at the selected resolution and placed in a permanent image buffer.
  4014.     Additional regions may be selected and scanned as many times as desired to
  4015.     create more images. 
  4016.     
  4017. \item{4} To scan a new original, click ``Preview'' again to create a new preview image,
  4018.     or click Cancel if finished. The temporary image is automatically erased.
  4019.  
  4020.    \bf NOTE: Scanner support has not been tested in the Irix or Solaris versions.
  4021.    Information as to whether this works will be appreciated. The scanner interface
  4022.    is not supported in MS-DOS or ConvexOS. \rm
  4023.  
  4024.    \bf WARNING: \rm If TN-Image detects an unsupported type scanner, it displays
  4025.    the message: \tt
  4026.  
  4027.             Not an HP scanner 
  4028.             
  4029.             Continuing may cause a lockup 
  4030.             
  4031.             Do you want to continue? 
  4032.  
  4033.    \rm Click ``OK'' to attempt to use the scanner. 
  4034.    \it Do this at your own risk. \rm
  4035.  
  4036. \vskip 0.1 in
  4037.  
  4038.    \bf Notes: \rm
  4039.    
  4040. \item{1.} ADF, transparency adapters, and the ScanJet Button Manager on the HP5c
  4041.    are not currently supported. 
  4042.  
  4043. \item{2.} Not all scanners support all scanning modes. For example, the HP4c 
  4044.    handles 8 and 10-bit B/W and 24 and 30-bit color, but not 12 bit B/W or 36 bit 
  4045.    color. 
  4046.      
  4047. \item{3.} 30- and 36-bit/pixel images are stored internally as 48 bits/pixel
  4048.    but currently are handled in a pseudo-24 bits/pixel format with the low
  4049.    bits discarded. These images must be converted to 24 bits/pixel before they
  4050.    can be saved. A future version of TN-Image will correctly handle 48 bit/pixel 
  4051.    images.
  4052.  
  4053. \item{4.} Brightness and contrast settings have no effect on 10 bit/pixel images.   
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.  
  4061. \vfill\eject
  4062. \bigskip\hrule\bigskip
  4063. \bbb { 8.1.16 Creating, executing, and testing plugins }
  4064. \bigskip
  4065. \hrule\bigskip
  4066. \rm         
  4067.  
  4068.    In the event that specialized features not included in TN-Image are needed,
  4069.    it is possible to create a ``plug-in''. TN-Image can send data to an external
  4070.    program and retrieve it after processing. 
  4071.  
  4072. \vskip 0.1 in   
  4073.    \bf Running plug-ins \rm
  4074.    
  4075. \item{1.} Create a text file in the start-up directory named ``plugins'' containing
  4076.    a list of plugins, each on a separate line, for example,
  4077. \tt
  4078.  
  4079.               plugin
  4080.  
  4081.               /usr/local/bin/myplugin
  4082.  
  4083.              ./joes\_plugin
  4084.  
  4085. \rm
  4086.  
  4087. \item{2.} Select ``File...Execute plugin'' and select the desired plugin. 
  4088.    
  4089. \vskip 0.1 in   
  4090.    \bf Creating plug-ins \rm
  4091.    
  4092.    The plug-in interface is still experimental and may change slightly in
  4093.    future versions.
  4094.  
  4095. \item{1.} The files ``plugin.cc'' and ``plugin.h'' provide a template for 
  4096.     creating new plugins. TN-Image passes the data for all images as well as
  4097.     a large amount of configuration data to the plugin through a stream pipe,
  4098.     then reads it back afterwards. Stream pipes are used because the amount
  4099.     of shared memory in most versions of Unix is quite limited. All data 
  4100.     shown in ``plugin.cc'' must be sent back, regardless of whether it has
  4101.     been changed. In addition, it is necessary to set the flag variable
  4102.     `g--$>$changed[image\_number]' for each image that has been changed to cause
  4103.     it to be redrawn.
  4104.     
  4105. \item{2.} A message of up to 1024 characters may be sent back to the parent.
  4106.     No information should be sent to stdout. Error messages can write to stderr
  4107.     if necessary. 
  4108.     
  4109. \item{3.} The new plugin may be compiled with the command line:
  4110.     
  4111. \tt    gcc -o plugin -O3 -Wall plugin.cc  \rm
  4112. (use \tt -O2 \rm on Irix).   
  4113.    
  4114. \vskip 0.1 in   
  4115.    \bf Testing plug-ins \rm
  4116.  
  4117.    To debug a plug-in, create a macro containing the following line:
  4118.  
  4119. \tt executeplugin \it plugin\_name \tt 0 \rm
  4120.  
  4121. or equivalently,
  4122.  
  4123. \tt testplugin \it plugin\_name \rm
  4124.  
  4125.    The `0' causes the plugin to be executed in `debug mode', i.e., its stdout
  4126.    is not redirected, whereas `1' causes it to be executed normally.
  4127.  
  4128.  
  4129.  
  4130.    
  4131. \vfill\eject
  4132. \bigskip\hrule\bigskip
  4133. \bbc { 8.2.0  Image menu }
  4134. \bigskip
  4135. \hrule\bigskip
  4136. \rm
  4137.  
  4138. \bigskip\hrule\bigskip
  4139. \bbb { 8.2.1  Delete region }
  4140. \bigskip
  4141. \hrule\bigskip
  4142. \rm
  4143.  
  4144.        Erase part or all of an image or background. After selecting `delete
  4145.        region', move to one corner of the region to erase, and click and 
  4146.        drag to the other corner. This rectangular region will be set to 
  4147.        the background color. (If there is another image behind the topmost 
  4148.        image, the obscured part will be unaffected.)
  4149.  
  4150.        Pressing the \tt Del \rm key after selecting a region has the same effect.
  4151.  
  4152. \bigskip\hrule\bigskip
  4153. \bbb { 8.2.2  Crop  }
  4154. \bigskip
  4155. \hrule\bigskip
  4156. \rm
  4157.  
  4158.        Similar to `delete region', except erases everything except the
  4159.        currently-selected region, including  the  background  and  any
  4160.        portions  of  any  image currently visible on the screen. If an
  4161.        image is obscured by another image, the obscured  part  is  not
  4162.        cropped.
  4163.  
  4164. \bigskip\hrule\bigskip
  4165. \bbb { 8.2.3  Erase background }
  4166. \bigskip
  4167. \hrule\bigskip
  4168. \rm
  4169.   
  4170.         Removes  everything  on  the  screen  that is not a part of an
  4171.         image, and sets it to the background color.
  4172.  
  4173. \bigskip\hrule\bigskip
  4174. \bbb { 8.2.4  Copy/Move }
  4175. \bigskip
  4176. \hrule\bigskip
  4177. \rm
  4178.        Copies or moves part of an image or drawing to another region.
  4179.        After selecting `copy/move', click and drag on the image to select a
  4180.        region to copy. 
  4181.        The region is copied and pasted in the new location as soon as you 
  4182.        release the mouse button. If the pasted portion falls partly on an 
  4183.        image and partly on the background, the portion that falls
  4184.        on the image sticks to the image and the part that falls on the 
  4185.        background sticks to the background.
  4186.  
  4187.        Clicking on ``move'' additionally causes the original area to be 
  4188.        replaced with the current background pixel value.
  4189.  
  4190.        The mode of interaction of the moved region with the background or 
  4191.        other images can be changed by changing the ``Pixel interaction mode''
  4192.        from the ``Config'' menu.  For example, if the pixel interaction
  4193.        mode is ``subtract'' the moved region will be subtracted from
  4194.        whatever is there. (See \it Pixel interaction mode \rm below).
  4195.  
  4196.        The source and destination do not have to be in the same window.
  4197.        To copy or move an area from the main window to an image in another window,
  4198.        continue pressing the mouse button and move the mouse cursor to the
  4199.        new window. The copied area will be invisible while the cursor is
  4200.        outside one of TN-Image's windows and will reappear when the cursor
  4201.        moves to the new window. Copying to other programs is not yet
  4202.        supported.
  4203.  
  4204.        The copied region is converted to the image depth and color type
  4205.        of the destination. Thus, a region moved from a 32-bit color image
  4206.        and pasted onto a grayscale image will be converted to grayscale
  4207.        values. Pixels copied onto indexed-color images are converted to 
  4208.        the pixel value with the closest matching color so as not to disturb
  4209.        the existing colormap. The tradeoff of this is that, for indexed-color
  4210.        images, the copied region may appear slightly different from the 
  4211.        original; thus it is recommended that indexed-color
  4212.        images be converted to 24 bits/pixel before cut/paste operations.
  4213.        This remapping feature can be disabled by un-checking the ``Remap pixels''
  4214.        button in the ``copy/move'' dialog. If ``remap pixels'' is unchecked, 
  4215.        the pixels will be pasted without modification, and pixels pasted onto 
  4216.        an indexed-color image having a different colormap from the source 
  4217.        image will most likely only appear normal when the original image is 
  4218.        selected.
  4219.  
  4220.  
  4221. \bigskip\hrule\bigskip
  4222. \bba { 8.2.4.1  Chroma-keyed Copy }
  4223. \bigskip
  4224. \hrule\bigskip
  4225. \rm
  4226.  
  4227.        If the ``Chroma-keyed copy'' button is checked, only pixel values 
  4228.        between the specified ``Minumum opaque pixel'' and ``Maximum 
  4229.        opaque pixel'' values will be copied to the new location. Chroma-keyed 
  4230.        copying is considerably slower than opaque copying. On some computers, it 
  4231.        may be necessary to keep the cursor at the destination point for several 
  4232.        seconds after clicking to allow the screen display to catch up.
  4233.        
  4234.        You should un-click the ''Remap pixels'' button when performing 
  4235.        Chroma-keyed copies; otherwise, some of the pixels may get remapped
  4236.        into or out of the transparency range (see \it Chroma-key,  \rm Sec. 
  4237.        8.2.12.1 below), causing unexpected results. 
  4238.        
  4239. \vskip 0.1 in\noindent
  4240.        \bba Examples \rm
  4241.        
  4242.        \proclaim Example 1. Pasting a white text label onto an image. \rm
  4243.        (Note that an ordinary text label can be more easily pasted using
  4244.        the ``Label'' option).
  4245.        
  4246.        \item{1.} Select ``Color..Foreground color'' and set the color for
  4247.        the label to 255. Select ``Draw..Font..'' to change the font if desired.
  4248.  
  4249.        \item{2.} Move the mouse cursor to a region in the background or in
  4250.        an unwanted area of the image and type the label. The label can actually 
  4251.        be anything, including parts of images, different fonts, and graphic
  4252.        elements. 
  4253.        
  4254.        \item{3.} Select ``Copy/Move'', click ``Chroma-keyed copy'' and 
  4255.        adjust the Minimum and Maximum transparency values. For example,
  4256.        if the label contains colors 253, 254, and 255, set the minimum
  4257.        to 0 and the maximum to 252. (This assumes you are working on an
  4258.        8-bit display).
  4259.  
  4260.        \item{4.} (Optional). Un-click the ``Remap pixels'' button.
  4261.  
  4262.        \item{5.} Click Ok and select the label with the mouse. Continue pressing
  4263.        the left mouse button.
  4264.        
  4265.        \item{6.} Move the mouse to the desired location and unclick the left
  4266.        mouse button. 
  4267.        
  4268.        \item{7.} Click the ``Cancel'' button in the information area when
  4269.        finished.
  4270.        
  4271.        \proclaim Example 2. Creating and pasting a cutout image. \rm
  4272.        
  4273.        \item{1.} Select ``Image..Backup'' to make a backup copy of the image
  4274.        in case you make a mistake.
  4275.  
  4276.        \item{2.} Select ``Color..Foreground color'' and set the drawing color 
  4277.        to 0 (or some other color not contained in the desired region of the 
  4278.        image). (Note: if the image contains every color, it may be necessary
  4279.        to first remap one of the colors in the image, see \it Remap\rm , Sec. 8.4.5).
  4280.        
  4281.        \item{3.} Select ``Draw..spray'', select ``fine spray'', 
  4282.        click the left mouse button, and and drag the mouse cursor around
  4283.        the outside of the area to be cutout, to create a region of uniform
  4284.        color around the outside.   
  4285.  
  4286.        \item{4.} Select ``Copy/Move'', click ``Chroma-keyed copy'', make sure
  4287.        ``Remap pixels'' is unchecked, and set the minumum and maximum 
  4288.        opaque values to 1 and 255, respectively (This assumes you are 
  4289.        working on an 8-bit display. For a 16-bit display, the maximum 
  4290.        should be set to 65535).
  4291.  
  4292.        \item{5.} Click Ok and select the entire region (including the 
  4293.        blacked-out area) with the mouse. Continue pressing the left mouse button. 
  4294.        When the mouse is unclicked at the destination point, the cutout will 
  4295.        be pasted in the new location.
  4296.  
  4297.        \bf Note: \rm The image must be on the main window, and not in a separate
  4298.        window, before Chroma-keyed copy will work properly.       
  4299.  
  4300.  
  4301.  
  4302. \bigskip\hrule\bigskip
  4303. \bbb { 8.2.5  Paste }
  4304. \bigskip
  4305. \hrule\bigskip
  4306. \rm
  4307.        Selecting ``Paste'' or clicking on the main ``Paste'' button
  4308.        activates a small dialog box that selects what will
  4309.        be pasted onto what. This provides a range of options useful for 
  4310.        stenciling, adding labels, and creating mattes and composite images.
  4311.        
  4312.        \item{1} Background to transparent part of image --- copies pixels from
  4313.        the background into the image, only in regions of the image that are
  4314.        currently transparent. If transparency is ``off'', it does nothing.
  4315.        
  4316.        \item{2} Background to opaque part of image --- copies pixels from
  4317.        the background into the image, only in regions of the image that are
  4318.        currently not transparent. Note that if the chroma-key bit of the image is 
  4319.        ``on'', the image will suddenly blend in with the background and seem
  4320.        to disappear until chroma-key is turned ``off''. Conversely, if 
  4321.        chroma-key is ``off'', it copies everything behind it, obliterating 
  4322.        the original image.
  4323.  
  4324.        \item{3} Opaque part of image to background --- copies all pixels from the
  4325.        image onto the background unless they are transparent. This effect is 
  4326.        identical to the main ``Paste'' button in the information area.
  4327.  
  4328.        \item{4} Transparent part of image to background --- copies the original,
  4329.        hidden pixels from the part of the image that is transparent onto the
  4330.        background. If chroma-key is ``off'', it does nothing.
  4331.  
  4332.        \item{5} Stencil transparent part of image to background --- same as 
  4333.        option 4, except that the pixels are all set in the current drawing
  4334.        color to create a stencil.
  4335.  
  4336.        \item{6} Entire image to background --- copies the entire, original
  4337.        image onto the background, regardless of any chroma-key settings.
  4338.  
  4339. \vskip 0.1 in
  4340.  
  4341.        \bf Notes: \rm 
  4342.        
  4343. \item{1} These operations do not create any new images. If the result
  4344.        is to be saved, it is necessary to use ``File..Create/Resize object''
  4345.        to create a new image.
  4346.  
  4347. \vskip 0.1 in
  4348. \item{2} The ``paste'' feature can also be used to paste between parts of 
  4349.        images that are in separate windows, provided that they are
  4350.        properly superimposed.       
  4351.  
  4352. \vskip 0.1 in
  4353. \item{3} ``Paste'' and ``Copy/move'' do not utilize the X Window clipboard
  4354.        and cannot be used to copy between applications.
  4355.  
  4356.  
  4357. \vfill\eject
  4358. \bigskip\hrule\bigskip
  4359. \bbb { 8.2.6  Change size   }
  4360. \bigskip
  4361. \hrule\bigskip
  4362. \rm
  4363.        
  4364.        Creates a new image of a different size than the currently-selected   
  4365.        image. You can specify different size factors for the x and y  
  4366.        dimensions.  However, both x and y factors must be either greater  
  4367.        than or less than 1.0. For example, setting the x factor to 1.1 and  
  4368.        y factor to 4.78 creates a vertically elongated image. 
  4369.        
  4370.        If the  image  does  not  contain  fine  detail,  it  is  often
  4371.        convenient  to shrink the image to x and y sizes of 0.5 or less
  4372.        before saving it. Setting the x and y factors to 0.5  decreases
  4373.        the  file  size  by 75\%. Conversely, enlarging the image allows
  4374.        you to fine-tune each pixel value before shrinking it  back  to
  4375.        normal size. (Note that in this case, you will have 3 images in
  4376.        memory:  the original, the enlarged image, and the new shrunken
  4377.        modified image. It is recommended to delete the enlarged images
  4378.        as soon as they  are  not  needed,  to  avoid  running  out  of
  4379.        memory.)
  4380.  
  4381. \bigskip\hrule\bigskip
  4382. \bbb { 8.2.7  Rotate image    }
  4383. \bigskip
  4384. \hrule\bigskip
  4385. \rm
  4386.        Creates a new image identical to the currently-selected image, 
  4387.        except that it is rotated by 90¯.
  4388.  
  4389. \bigskip\hrule\bigskip
  4390. \bbb { 8.2.8 Flip horizontally   }
  4391. \bigskip
  4392. \hrule\bigskip
  4393. \rm
  4394.  
  4395.        Converts  the  currently-selected  image  or  region into a 
  4396.        left-right mirror image of itself. For images > 8 bits/pixel,
  4397.        only the selected color planes are flipped. Color planes can be
  4398.        selected in the ``Config'' dialog box.
  4399.  
  4400.  
  4401. \bigskip\hrule\bigskip
  4402. \bbb { 8.2.9 Flip vertically    }
  4403. \bigskip
  4404. \hrule\bigskip
  4405. \rm
  4406.  
  4407.        Converts  the  currently-selected  image  or  region into a 
  4408.        vertical mirror image of itself. For images > 8 bits/pixel,
  4409.        only the selected color planes are flipped. Color planes can be
  4410.        selected in the ``Config'' dialog box.
  4411.  
  4412.  
  4413. \bigskip\hrule\bigskip
  4414. \bbb { 8.2.10   Backup   }
  4415. \bigskip
  4416. \hrule\bigskip
  4417. \rm
  4418.  
  4419.         Creates a backup copy of the current image in memory. This is
  4420.         recommended before manipulating the image or adding text, in
  4421.         case you don't like the results.  Selecting ``Restore'' will retrieve 
  4422.         the screen back onto the screen.
  4423.  
  4424.  
  4425. \bigskip\hrule\bigskip
  4426. \bbb { 8.2.11   Restore  }
  4427. \bigskip
  4428. \hrule\bigskip
  4429. \rm
  4430.  
  4431.      Replaces the current image with the backed-up copy if one exists.
  4432.      
  4433.      Note: if you change the depth of an image, the original backup is no longer 
  4434.      valid and is automatically discarded. 
  4435.  
  4436. \bigskip\hrule\bigskip
  4437. \bbb { 8.2.12   Image properties  }
  4438. \bigskip
  4439. \hrule\bigskip
  4440. \rm
  4441.  
  4442.      Sets a variety of modifiable properties for each screen object or image.
  4443.      
  4444.      \it Copy tables \rm - Copies the colormap, gamma table, or calibration
  4445.      parameters from some other image.
  4446.      
  4447.      \it Color type \rm - Sets the `colortype' flag for the image to Grayscale, 
  4448.      Indexed, or Color.  \bf Warning: \rm Changing color types is not always
  4449.      a reversible process.
  4450.      
  4451.      \it Image Number \rm - Sets the source and destination image numbers
  4452.      for the `copy tables' option.
  4453.      
  4454.      \it Image attributes \rm - Sets the title, position, image depth, and
  4455.      transparency (see Sec. 8.2.12.1) for the image.
  4456.  
  4457. \bigskip\hrule\bigskip
  4458. \bba { 8.2.12.2   Transparency  }
  4459. \bigskip
  4460. \hrule\bigskip
  4461. \rm
  4462.  
  4463.     Checking the ``Transparent'' button in the ``Image properties'' dialog
  4464.     causes pixels in the image whose values lie between the 'minimum' and
  4465.     `maximum' transparency values to be treated as transparent. This means
  4466.     that images behind the transparent image or on the background will show
  4467.     through in those regions marked as transparent.  This feature greatly
  4468.     facilitates pasting of labels and creating composite images and cutouts. 
  4469.     Clicking the ``Paste'' button in the information area at the left causes
  4470.     the opaque pixels in the currently-selected region to be pasted onto
  4471.     whatever is behind it (\it i.e., \rm onto the background or the image 
  4472.     behind the transparent image). 
  4473.     
  4474.     Copying and pasting of transparent images is also supported. See 
  4475.     ``Transparent Copy (sec. 8.2.4.1) for more information.
  4476. \vskip 0.2 in
  4477.     
  4478.     \bba Note. \rm The transparency feature is still under development and
  4479.     still has some minor limitations:
  4480. \vskip 0.1 in
  4481.     
  4482.     (1). Currently, only the raw pixel value is used in determining transparency. 
  4483.     For indexed-color images, you should sort the color palette by selecting 
  4484.     ``Color..Colormap..Sort colormap'' to achieve good results. This will not
  4485.     be necessary in future versions.
  4486. \vskip 0.1 in
  4487.     
  4488.     (2). If the image does not appear transparent after performing some
  4489.     operation, moving the image by clicking on the arrow buttons should 
  4490.     restore the transparent effect.
  4491. \vskip 0.1 in
  4492.     
  4493.     (3). No conversion between pixel types or image depths is currently
  4494.     performed by the ``Paste'' button. 
  4495.  
  4496. \vskip 0.1 in
  4497.     
  4498.     (4). Saving images as transparent GIF's is not yet supported. 
  4499.     
  4500. \vskip 0.1 in
  4501.     
  4502.     (5). Transparency can be quite slow with color images, because calculating
  4503.     the new pixel value requires fetching and performing calculations on the 
  4504.     RGB values for both the foreground and background. This can take up to several
  4505.     seconds for a large image. If possible, convert the image to grayscale first.
  4506.  
  4507.  
  4508. \bigskip\hrule\bigskip
  4509. \bbb { 8.2.13   Repair  }
  4510. \bigskip
  4511. \hrule\bigskip
  4512. \rm
  4513.  
  4514.    Re-builds and remaps the screen display for the image in case it is incorrect.
  4515.  
  4516.  
  4517. \bigskip\hrule\bigskip
  4518. \bbb { 8.2.14   3D / Frame Controls  }
  4519. \bigskip
  4520. \hrule\bigskip
  4521. \rm
  4522.  
  4523.    Activates the 3D control for the image. Each 3D control permits selection of
  4524.    the visible frame of one image. If the image only has a single frame, it has
  4525.    no effect. The frame may be selected manually, or the time interval between
  4526.    frames can be adjusted for a ``movie''. (\it Note: Sound is not supported.\rm)
  4527.  
  4528.    Click on ``Start'' to automatically change frames and ``Pause''
  4529.    to stop. The interval between frames in milliseconds can be adjusted.
  4530.    On slower computers or with large images, the actual interval may be
  4531.    larger. If frame rates are too low, it may be helpful if \tt tnimage \rm 
  4532.    is started in a screen mode that has the same depth as the image.
  4533.  
  4534.  
  4535. \vfill\eject
  4536. \bigskip\hrule\bigskip
  4537. \bbc { 8.3.0  Process menu   }
  4538. \bigskip
  4539. \hrule\bigskip
  4540. \rm
  4541.  
  4542. \bigskip\hrule\bigskip
  4543. \bbb { 8.3.1  Filter  }
  4544. \bigskip
  4545. \hrule\bigskip
  4546. \rm
  4547.  
  4548.  
  4549.         Modifies  the currently-selected image, or the selected screen
  4550.         region, without creating  a  new  image.  The  original  image
  4551.         should  be  backed  up  before filtering it, in case you don't
  4552.         like the results. The amount of filtering is adjustable from 1 
  4553.         to 10 (maximum).
  4554.  
  4555.         For images greater than 8 bits/pixel,  only the selected color planes are 
  4556.         filtered. Color planes can be selected in the ``Config'' dialog box.
  4557.  
  4558.  
  4559. \bigskip\hrule\bigskip
  4560. \bba { 8.3.1.1  High-pass filter (Sharpening) }
  4561. \bigskip
  4562. \hrule\bigskip
  4563. \rm
  4564.  
  4565.         Extracts  only  the  highest spatial frequencies in the image.
  4566.         More low frequency components are saved if a larger 'kernel' is
  4567.         selected. If the image contains few high-frequency components,
  4568.         and you selected too much sharpening, the result may appear
  4569.         dark or black. You can compensate for this by  increasing  the
  4570.         contrast of the image after filtering it.   
  4571.   
  4572.  
  4573. \bigskip\hrule\bigskip
  4574. \bba { 8.3.1.2 Low-pass filtering   }
  4575. \bigskip
  4576. \hrule\bigskip
  4577. \rm
  4578.  
  4579.      
  4580.         Low-pass filtering eliminates sharp edges from the image,
  4581.         causing a blurring effect. The total intensity is unchanged,
  4582.         but is spread throughout the neighboring pixels.    
  4583.  
  4584.  
  4585. \bigskip\hrule\bigskip
  4586. \bba {  8.3.1.3 Background subtract }
  4587. \bigskip
  4588. \hrule\bigskip
  4589. \rm
  4590.  
  4591.    
  4592.         This is similar to high-pass filtering except it removes only
  4593.         the lowest frequencies.  This has the effect of removing uneven 
  4594.         background in the image. As with high-pass filtering, it can
  4595.         make the image appear darker. Selecting a larger kernel removes
  4596.         less of the low frequencies, but will require much more processing
  4597.         time. A preferred method is to use the ``kernel multiplier''. 
  4598.         Selecting a multiplier of 5 with a 3x3 kernel produces results 
  4599.         similar to using a multiplier of 1 with a 15x15 kernel, but is
  4600.         many times faster. For this reason, it is recommended to set
  4601.         the kernel to 3x3 for background subtract. 
  4602.      
  4603.         You can specify whether ``black'' or ``white'' pixels should be
  4604.         considered as the background. If you select ``white'', the image 
  4605.         will generally get lighter in regions of unvarying pixel intensity.
  4606.         If the background value is ``black'', the image will get darker 
  4607.         wherever the pixel intensity does not vary. You can compensate 
  4608.         for this by increasing the contrast.
  4609.  
  4610.         Background subtraction will also trash any text in the image.
  4611.         
  4612.         See \it Background flatten \rm below for an alternative (and faster) way 
  4613.         to remove background gradients.
  4614.      
  4615.  
  4616. \vfill\eject
  4617. \bigskip\hrule\bigskip
  4618. \bba { 8.3.1.4  Background Flatten (de-trending)  }
  4619. \bigskip
  4620. \hrule\bigskip
  4621. \rm
  4622.  
  4623.         This filter removes large-scale gradients from the image or
  4624.         selected region by measuring the average pixel value in each
  4625.         corner and then adding or subtracting a value to equalize the
  4626.         overall intensity. This could also be done manually, by creating
  4627.         a gradient region on the screen and adding the image to it (see 
  4628.         \it Gradient fill \rm). However, the manual method is not 2-dimensional.
  4629.  
  4630.         In contrast to Background Subtraction, this filter does not trash 
  4631.         text.
  4632.  
  4633.  
  4634. \bigskip\hrule\bigskip
  4635. \bba { 8.3.1.5  Noise filtering (median filtering)  }
  4636. \bigskip
  4637. \hrule\bigskip
  4638. \rm
  4639.    
  4640.         Median filtering removes extraneous pixels from the image.
  4641.         This is useful if the image contains noise which consists
  4642.         of little dots that are clearly outside the range of the other
  4643.         pixels. If a given pixel varies by more than a certain amount
  4644.         from the pixels around it, median filtering substitutes the 
  4645.         median of the neighboring pixels, thereby eliminating noise from 
  4646.         the image. The image is otherwise unaffected. The range in 
  4647.         +/- pixel 
  4648.         value units, outside of which a value is to be considered noise, 
  4649.         can be changed. A higher value results in less noise removal.
  4650.         Excessive noise filtering can make an image appear posterized. 
  4651.         A setting of 0 will create a smoothing effect.
  4652.  
  4653.  
  4654.  
  4655. \bigskip\hrule\bigskip
  4656. \bba { 8.3.1.6 Laplace edge enhancement  }
  4657. \bigskip
  4658. \hrule\bigskip
  4659. \rm
  4660.  
  4661.         This filter finds any edges in the image whose length is equal
  4662.         or greater than the kernel size. The edges are then increased
  4663.         in intensity while non-edge regions are eliminated. The effect
  4664.         on text is to create an outline of the text. 
  4665.  
  4666.  
  4667. \bigskip\hrule\bigskip
  4668. \bba { 8.3.1.7 Sobel edge enhancement  }
  4669. \bigskip
  4670. \hrule\bigskip
  4671. \rm
  4672.  
  4673.         This filter is similar to Laplace edge enhancement except that
  4674.         the effects are gentler. A Sobel filter enhances the color or
  4675.         intensity gradient, so that areas of constant color become black.
  4676.  
  4677.  
  4678. \bigskip\hrule\bigskip
  4679. \bba { 8.3.1.8 Edge detection and edge sharpening  }
  4680. \bigskip
  4681. \hrule\bigskip
  4682. \rm
  4683.  
  4684. \item{} Edge detect |         
  4685. \item{} Edge detect --      
  4686.                                  Detects and enhances edges in the image
  4687.                                  preferentially in the horizontal or
  4688.                                  vertical direction.
  4689.                               
  4690. \medskip
  4691. \item{}   Sharpen |                            
  4692. \item{}   Sharpen /             
  4693. \item{}   Sharpen --           
  4694. \item{}   Sharpen $\backslash$
  4695.            
  4696.                                  Sharpens the selected region or image 
  4697.                                  preferentially in the indicated direction,
  4698.                                  creating a `freeze-fracture' 3-D effect.
  4699.                                  This is particularly useful for images
  4700.                                  of biological specimens that have low
  4701.                                  contrast, since it highlights the overall 
  4702.                                  shape of the cells.
  4703.  
  4704.  
  4705. \bigskip\hrule\bigskip
  4706. \bba { 8.3.1.9 Adjustable parameters  }
  4707. \bigskip
  4708. \hrule\bigskip
  4709. \rm
  4710.  
  4711. \it       Kernel
  4712. \rm     
  4713.         The kernel is the number of pixels used in calculating a  pixel
  4714.         in the new image. The processing time needed increases with the
  4715.         square of the kernel size.
  4716.  
  4717. \medskip     
  4718. \it       Kernel multiply factor
  4719. \rm     
  4720.         A \it kernel multiply  factor \rm allows you to select an arbitrarily 
  4721.         large convolution kernel without an increase in computation time.
  4722.         This is possible because usually only a small sample of the  
  4723.         surrounding pixels are really needed to calculate the new pixel
  4724.         value. For most types of filters, a 3x3 kernel with a kernel 
  4725.         multipier of 3 gives the same results as a 9x9 kernel, but is 3
  4726.         times faster.  For sharpening and blurring, this doesn't work,
  4727.         and the factor is automatically set to 1.
  4728.  
  4729. \medskip
  4730. \it        Amount of filtering    
  4731. \rm        
  4732.         The amount of filtering applied to the image, from 1 (minimal 
  4733.         filtering) to 10 (maximal filtering).
  4734.      
  4735. \medskip
  4736. \it        Range (median filter)  
  4737. \rm        
  4738.         For  median  filters,  you can specify a range of pixel values
  4739.         outside of which the pixel will be considered to  be  a  noise
  4740.         pixel.  For instance, if the median value of all the pixels in
  4741.         a given area is 123, and the range is set  to  +/- 10,  
  4742.         then  the
  4743.         pixel will be replaced with the median value (123) only if its
  4744.         value higher than 133 or less than 113.                         
  4745.                               
  4746.  
  4747. \vfill\eject
  4748. \bigskip\hrule\bigskip
  4749. \bbb { 8.3.2  Warp   }
  4750. \bigskip
  4751. \hrule\bigskip
  4752. \rm
  4753.       Corrects (or adds) distortion in the image. Currently works in vertical
  4754.        direction only.
  4755.        
  4756. \item{1.} Select a series of control points to define the distortion
  4757.            to be corrected. For example, if you have  an  SDS  gel  in
  4758.            which  the  bands  are U-shaped, trace out a U-shaped curve
  4759.            somewhere on the image that follows the U shape. 
  4760.        
  4761. \item{2.} Press any key. This fixes the curve in place (it becomes
  4762.            invisible).
  4763.  
  4764. \item{3.} With the mouse, select a y-value somewhere below the lowest 
  4765.            point in the curve which you traced out.
  4766.  
  4767. \item{4.} Click the left mouse button at the desired y-value.
  4768.  
  4769. \item{5.} Each vertical line on the screen will be shifted up or down so 
  4770.            that each point on the curve you traced out is lined up with the
  4771.            selected y-value.
  4772.            
  4773.         Future versions of TN-Image will have a more elaborate, 2-dimensional 
  4774.         distortion-removal feature. Contact the author for availability 
  4775.         dates.
  4776.                                   
  4777.         
  4778. \vfill\eject
  4779. \bigskip\hrule\bigskip
  4780. \bbb { 8.3.3   Measure...  }
  4781. \bigskip
  4782. \hrule\bigskip
  4783. \rm
  4784.  
  4785. \bigskip\hrule\bigskip
  4786. \bba { 8.3.3.1 Distance measurement   }
  4787. \bigskip
  4788. \hrule\bigskip
  4789. \rm
  4790.  
  4791.  
  4792.         Measure distance between two points. Click the left mouse button,
  4793.         move to the end point, and release the mouse. Click on the top
  4794.         menu bar or press \it ESC \rm when finished.
  4795.         
  4796.         Before making distance measurements, you can calibrate your image 
  4797.         as described in Sec.8.3.9, using ``2D linear calibration'' mode.
  4798.         This will cause the results to be in known units (such as 
  4799.         centimeters) rather than pixels.
  4800.         
  4801.         If the mouse button is clicked inside an image, the mouse is grabbed
  4802.         by TN-Image and prevented from being moved outside the image (\it Unix 
  4803.         version only)\rm. This prevents inaccurate calibration results.
  4804.         If the mouse button is clicked while on the background, or the image 
  4805.         has been calibrated in a ``1D'' mode,the results are reported in 
  4806.         uncalibrated pixel units.
  4807.    
  4808. \bigskip\hrule\bigskip
  4809. \bba { 8.3.3.2 Angle measurement  }
  4810. \bigskip
  4811. \hrule\bigskip
  4812. \rm
  4813.  
  4814.         Measure the angle between 2 lines. Same as distance measurement
  4815.         except you must click and drag twice. The angle is always given
  4816.         as the most acute of the two angles between the two lines.
  4817.  
  4818.  
  4819. \bigskip\hrule\bigskip
  4820. \bbb {  8.3.4  Calibrate }
  4821. \bigskip
  4822. \hrule\bigskip
  4823. \rm
  4824.  
  4825.        Calibrates the image or screen x and y coordinates. To calibrate
  4826.        an image, select ``New calibration'' from the menu, then click on the 
  4827.        known calibration points in your image and enter the calibration 
  4828.        values. The calibration points (which appear as small squares) can 
  4829.        be dragged to new locations if desired. When finished, press any key. 
  4830.        A dialog box will appear; select ``linear'' or ``logarithmic'' 
  4831.        calibration, and change the title if desired.  A small window will 
  4832.        appear displaying the calibrated value for the current mouse position. 
  4833.        The calibration does not have to be vertical or horizontal, but can 
  4834.        be in any direction on the screen.
  4835.               
  4836.        To end calibration mode, select ``Calibrate'' again and select 
  4837.        ``Hide calibration''. To restore the previous calibrations, select
  4838.        ``Unhide calibration''.
  4839.  
  4840.        Calibrating an image affects distance measurements and strip
  4841.        densitometry area calculations.
  4842.  
  4843.        Each image, as well as the background, can be calibrated separately
  4844.        and can have a different title. 
  4845. \medskip
  4846.       
  4847.        Four types of calibration are possible:
  4848. \item{1.}  1-D linear calibration: Measures the distance from a line 
  4849.            perpendicular to the best-fit line passing through your calibration
  4850.            points. This calibration is useful for images of isoelectric
  4851.            focusing gels, or other situations where the distance in one
  4852.            direction is the parameter of interest.
  4853. \item{2.} 1-D logarithmic calibration: Same as (1) except distances are
  4854.            logarithmic (For example, if 10 pixels corresponds to 1 unit of 
  4855.            distance, 20 pixels would be 10 units, and 30 pixels would be 
  4856.            100 units). This calibration is suitable for acrylamide and
  4857.            agarose gel electrophoresis images.
  4858. \item{3.} 1-D 2nd-order polynomial calibration: Same as (1) except 
  4859.            distances are fitted to a quadratic equation. Not really very
  4860.            useful, but it was easy to program.
  4861. \item{4.} 2-D linear calibration: Distances are calculated as the distance
  4862.            from the point (0,0). This calibration type is suitable for
  4863.            calibrating to objects of known size on the image (Sec. 8.3.4),
  4864.            for example if a ruler was included in the image.
  4865.        
  4866. \proclaim
  4867.        Example 1: Calibrate an SDS-PAGE gel for molecular weight
  4868.        standards.
  4869.  
  4870. \item{1.}  Select ``New calibration''.
  4871. \item{2.} Click on ``OK'' to start calibration.
  4872. \item{3.} Click on each size standard in the image, then enter the
  4873.            corresponding molecular weight. Each point will be shown by a
  4874.            small box. If you make a mistake, you can go back and drag
  4875.            any of the boxes to a new location. A best-fit line is 
  4876.            automatically drawn connecting the boxes. Make sure that this 
  4877.            line is in the same orientation as the lanes in your gel 
  4878.            (i.e., vertical or near vertical if your lanes are straight).
  4879. \item{4.} When finished, press a key. The boxes and line will disappear.
  4880. \item{5.} Select ``logarithmic'' calibration from the dialog box.
  4881. \item{6.} Change title to ``Molecular weight'' (optional).
  4882.  
  4883. \item{7.} The molecular weight is now displayed continuously. You can
  4884.            move the display window to any location by clicking on its edge
  4885.            and dragging to the new location.
  4886.  
  4887. \proclaim     
  4888.        Example 2:
  4889.        Calibrate coordinates on the image to centimeters using a ruler
  4890.        in the image.
  4891.        
  4892. \item{1.}  Select  Process...Calibration...New Calibration.
  4893. \item{2.}  Click  OK.
  4894. \item{3.} Click on the ruler markings on the strip in your image.
  4895.             A small box indicates the calibration point. Move the box by
  4896.             clicking-and-dragging if necessary. After releasing the mouse
  4897.             button, enter the centimeter value. Repeat for at least 2 more
  4898.             calibration points. The program uses least squares calculations
  4899.             to find the best calibration fit to your points.
  4900. \item{4.}  When finished, press \it ESC \rm.
  4901. \item{5.} Select ``2D Linear'' from the menu, change the title to 
  4902.             ``Centimeters'', and click OK.
  4903. \item{6.}  The image is now calibrated. Each image, as well as the 
  4904.             background, can have a different calibration. The distance is 
  4905.             measured as the distance from 0,0 as defined by your
  4906.             calibration points. You can now perform calibrated distance 
  4907.             measurements.
  4908.  
  4909.                               
  4910.  
  4911.  
  4912. \vfill\eject
  4913. \bigskip\hrule\bigskip
  4914. \bbb { 8.3.5  Spot Densitometry  }
  4915. \bigskip
  4916. \hrule\bigskip
  4917. \rm
  4918.  
  4919.  
  4920.        Performs densitometric analysis on parts of the image. 
  4921.        See also \it Strip densitometry \rm.
  4922.        For a tutorial, view the image DENSITOM.PCX.
  4923.                                
  4924.        In  high-color and true color modes, the image is treated as a 15,
  4925.        16,or 24-bit deep monochrome image during densitometry. This is  
  4926.        the traditional method of densitometric analysis (as opposed to 
  4927.        analyzing each color separately). \bf WARNING: \rm 
  4928.        If a monochrome or 8-bit
  4929.        image is converted to color, the original correspondence of pixel 
  4930.        values to optical density (if one existed), may be lost. 
  4931.                                
  4932.        Pixel compensation - If checked, this will cause TN-Image to use
  4933.        in  its  calculations  the  actual  optical  density value that
  4934.        corresponds to each pixel, instead of the raw pixel value. This
  4935.        information is often provided by digital scanners in  the  form
  4936.        of a `gray response curve' that is embedded in the TIF file. It
  4937.        is  recommended  that pixel compensation be checked 
  4938.        $\sqrt{}$ for all
  4939.        densitometry.
  4940.        
  4941.        Pixel compensation is not applicable for color (15,16,24, or
  4942.        32-bit/pixel) images.
  4943.  
  4944. \medskip
  4945. \it       Maximum signal 
  4946. \rm   - Selects whether pixel value corresponding to
  4947.        `black' or `white' (0 or 255 in 8 bpp mode) is to be considered 
  4948.        the strongest signal. If you have an image of a protein gel,  
  4949.        for instance, the bands appear black and maximum signal should 
  4950.        be set to ``black''. For DNA gels, the bands appear white and 
  4951.        maximum signal should be set to ``white''. 
  4952.  
  4953. \bf       NOTE:
  4954. \rm    Selecting ``Black'' as the maximum signal will cause the 
  4955.        reported values to be calculated as 1 - (measured value). Thus,
  4956.        if the average uncorrected pixel intensity of a spot is 0.25,
  4957.        the density (with ``pixel compensation'' off) will be 0.75.
  4958. \medskip
  4959.  
  4960. \it       Area selection
  4961.  
  4962.        - Automatic: 
  4963. \rm      Automatically finds the boundary of
  4964.          the region. Move to a point near the middle of the region  to
  4965.          be analyzed  and  click  the left mouse button. TN-Image will
  4966.          automatically determine the boundaries  of  the  area  to  be
  4967.          densitometrically  measured.  This boundary is defined by the
  4968.          set of contiguous pixels whose value is between  the  maximum
  4969.          value (which can be selected above as ``black'' or ``white'') and
  4970.          the background value (which can be selected to any value). It
  4971.          is  important  that  there  is no unbroken trail of pixels in
  4972.          this range that  extends  out  of  the  region  of  interest,
  4973.          otherwise  an  area  larger  than desired may be selected. As
  4974.          long as you continue clicking, new areas will be selected and
  4975.          analyzed. To stop densitometric analysis, either click on the
  4976.          right mouse button, or click somewhere on the menu bar at the
  4977.          top of the screen. If the background is set  inappropriately,
  4978.          the  quantitated  region  may  be too small or too large. The
  4979.          densitometric operation can be aborted by pressing the  \it ESC \rm
  4980.          key.
  4981.        
  4982.          If there is no clear boundary around the region of interest,
  4983.          the region can be traced out beforehand by sketching a black 
  4984.          or white border around it.
  4985.        
  4986. \it       Manual: 
  4987. \rm      In this mode, you must select (by clicking and dragging) 
  4988.          a rectangular region to be analyzed each time. 
  4989.           
  4990. \it       Fixed size:
  4991. \rm      In this mode, you select (by clicking and dragging)
  4992.          a rectangular region the first time. From then on, as long
  4993.          as densitometry is active, when you click on a point, a
  4994.          region of size and shape identical to the first region will
  4995.          be analyzed. This region will be centered at the point where
  4996.          you click.
  4997.          
  4998. \medskip                            
  4999. \it       Background 
  5000. \rm    -  Select the fractional pixel value (between 0 and 1) which is to be 
  5001.           considered the `background level'. The background level is important
  5002.           in automatic area selection as described above. The background
  5003.           value can also be automatically subtracted from the results
  5004.           if desired.
  5005.                                
  5006. \it       Calibration factor 
  5007. \rm - If a value is entered here, the result is
  5008.          multiplied by that number. This is useful in converting to 
  5009.          micrograms of protein, for example, on an image of an SDS gel.
  5010.  
  5011. \it       Subtract background - 
  5012. \rm     If checked, the background value will  be
  5013.          automatically subtracted from each pixel during calculations.
  5014.  
  5015. \medskip      
  5016.        After each analysis, a message box appears with the results.
  5017.        This is : (1) The area (total number of pixels) analyzed; (2) 
  5018.        The total signal measured (either in total pixel values or total 
  5019.        O.D. units, depending on whether pixel compensation is active); 
  5020.        (3) The average signal, i.e., the quotient of (2)/(1); (4) The 
  5021.        corrected total signal - background. For most purposes, including 
  5022.        gel analysis, the number of interest is (2) or (4), because you 
  5023.        need to measure the total amount of absorbing (or fluorescing) 
  5024.        material in the entire band. For other purposes, you may be more 
  5025.        interested in the signal density or concentration per unit area 
  5026.        on the image. The area is of interest in photomicrographs.
  5027.   
  5028. \bf       NOTE: \rm See the warning under \it Contrast \rm.
  5029.  
  5030. \bf       WARNING: \rm Pixels beyond the edges of the screen are not included
  5031.        in the area or density calculations. 
  5032.     
  5033.  
  5034.  
  5035. \bigskip\hrule\bigskip
  5036. \bba { 8.3.5.1 Area measurements  }
  5037. \bigskip
  5038. \hrule\bigskip
  5039. \rm
  5040.  
  5041.        Making area measurements:
  5042. \item{1.} Before starting, obtain a histogram on the image to find the
  5043.           desired background value for use with automatic spot detection
  5044.           (select ``Color...Histogram''). Alternatively Use ``Draw...Sketch'' 
  5045.           before starting, and completely encircle the objects to be 
  5046.           measured with a white line. Outlining the objects manually
  5047.           will obviate the need to select an appropriate background value.
  5048. \item{2.} Select ``Image...Spot densitometry''. Leave all the settings at
  5049.           their defaults except for the Background Value. 
  5050. \item{3.} If you wish TN-Image to identify the spot automatically, set
  5051.           the background value to the pixel value that corresponds to the
  5052.           brightest pixel in the background. Otherwise, if you have outlined
  5053.           the regions beforehand, set the background value to any large
  5054.           number (for example, if you outlined the areas with white 
  5055.           (=255), set the background to 254).
  5056. \item{4.}  Click on OK, then click again to dismiss the message box.
  5057. \item{5.}  Click anywhere inside the object to measure. The area being 
  5058.           measured will temporarily be painted in black, then a list box
  5059.           will appear displaying the area.
  5060. \item{6.}  Click on the background (or the upper left corner of the list box)
  5061.           to hide the list box. Then click on the next object to measure.
  5062. \item{7.}  Press \it Esc \rm when done.
  5063.        
  5064.  
  5065. \vfill\eject
  5066. \bigskip\hrule\bigskip
  5067. \bbb { 8.3.6  Strip Densitometry  }
  5068. \bigskip
  5069. \hrule\bigskip
  5070. \rm
  5071.  
  5072.     See also  \it Spot densitometry \rm
  5073.      For a tutorial, view the image file DENSITO2.TIF.
  5074.  
  5075.      Strip densitometry is not as exciting as it sounds. It is similar to 
  5076.      spot densitometry, but is easier 
  5077.      to perform and interpret because it is not necessary for TN-Image 
  5078.      to find the edges of the object.
  5079.  
  5080.     
  5081.      If the image has been calibrated, moving the cursor over the plot 
  5082.      area of the graph causes two different x-values are printed. The
  5083.      upper x value is the data point number, and the lower x value is 
  5084.      the calibrated value for the center pixel of the line along which
  5085.      the strip densitometry was performed. If the image has not been 
  5086.      calibrated, the two x values will be identical. Clicking-and-
  5087.      dragging within the plot selects a portion of the graph for area
  5088.      calculation. The selected area is highlighted in reverse color. 
  5089.      If the image has been calibrated, this area (printed at the lower 
  5090.      right of the graph) is also calculated from the calibrated values.
  5091.  
  5092.  
  5093.      To obtain a densitometric tracing of a trapezoidal region, select 
  5094.      ``Strip densitometry''  from the ``image'' menu. Do not confuse this 
  5095.      option with obtaining a scan from a scanner, which would require 
  5096.      a hardware interface, which is not provided with TN-Image. The
  5097.      options are:
  5098. \medskip
  5099.            
  5100. \item{} \it  Select coordinates \rm
  5101.                                - If `select coordinates' is checked, you must
  5102.                                 select the region to scan each time.
  5103.                                 
  5104. \item{}  \it    Repeat prev. scan \rm
  5105.                               - If `repeat previous scan' is checked, the same 
  5106.                                 region as the last time will be 
  5107.                                 re-scanned without you having to select it.
  5108.                                 This is useful if you modified the image in
  5109.                                 some way, such as by filtering it, in order
  5110.                                 to see the effects on scanning.
  5111.      
  5112. \item{} \it     Maximum signal  \rm
  5113.                          - select whether a ``black'' or ``white'' pixel is to
  5114.                            be regarded as the most intense value. Note:
  5115.                            in 8 bit/pixel modes(monochrome/indexed color),
  5116.                                 this will be affected by the optical density
  5117.                                 table which is often included in TIF files, 
  5118.                                 if `pixel compensation' is set to `on'. 
  5119.                                 Most scanners set their optical density 
  5120.                                 table so that `0' is the maximum optical
  5121.                                 density. (To find out whether your image
  5122.                                 file has an O.D. table, select ``Configure...
  5123.                                 Show O.D. table''.)
  5124.                                 
  5125.                                 
  5126. \item{} \it     Pixel compensation \rm
  5127.                          - if set to `on', the optical density table in
  5128.                            the image file is used to correct the pixel
  5129.                             values from a range of { 0,255 } to values
  5130.                                 that are proportional to the actual optical
  5131.                                 density of the original image. This table is
  5132.                                 usually generated by a scanner and is found
  5133.                                 mainly in TIF files. 
  5134.                               It is recommended to set pixel compensation to
  5135.                                 `on' when analyzing images from a scanner. 
  5136.                               This setting is automatically turned ``off'' in
  5137.                                 the color modes, because these modes have 
  5138.                                 enough dynamic range that a gray scale table
  5139.                                 is not needed. 
  5140.  
  5141. \item{}  \it   Scan type  \rm
  5142.                               - This option determines what type of region you
  5143.                                 can select for scanning. Selecting `snap to
  5144.                                 90 ${\deg}$ ' causes the starting and ending edges of
  5145.                                 the scan to ``snap'' to either vertical or 
  5146.                                 horizontal, whichever is closest.  This is 
  5147.                                 fastest because it does not require any of the
  5148.                                 anti-aliasing calculations which are needed 
  5149.                                 when you scan diagonally. However, if your 
  5150.                                 image contains objects that are oriented 
  5151.                                 diagonally, some resolution would be lost in 
  5152.                                 the scan because the objects will be scanned 
  5153.                                 at an angle to their true orientation.
  5154.  
  5155.                                   The first two points always determine the
  5156.                                 orientation of scanning. Scanning is always
  5157.                                 done along a line parallel to these 2 points.
  5158.                                 The 3rd and 4th points determine the direction
  5159.                                 and shape of the region to scan. The area 
  5160.                                 being scanned is indicated by a sweeping
  5161.                                 wave of temporarily inverted pixels.
  5162.  
  5163.                                   Selecting \it permit diagonal scan \rm allows you
  5164.                                 to select any trapezoidal area with no 
  5165.                                 restrictions on the starting angle. However,
  5166.                                 the angle of the far side of the trapezoid is
  5167.                                 always adjusted to make it parallel to the 
  5168.                                 starting side. This avoids confusion that 
  5169.                                 would otherwise be caused by having a small 
  5170.                                 `tail' at the end if the starting and ending 
  5171.                                 sides were not parallel. 
  5172.  
  5173.                                   Because of the grid nature of the screen, 
  5174.                                 this option is slower because it is
  5175.                                 necessary to correct for `aliasing' caused
  5176.                                 by pixels being at unpredictable distances
  5177.                                 from the starting point. However, you can 
  5178.                                 scan objects that are oriented in any direction. 
  5179.                                 To compensate for the slower speed,
  5180.                                 the pixels are no longer inverted as they
  5181.                                 were in earlier versions of TN-Image.
  5182.  
  5183.                                   \it Fixed width \rm only requires that you select
  5184.                                 the two end points instead of 4. Densitometry 
  5185.                                 is performed in a rectangular region between 
  5186.                                 the two points using the specified width in 
  5187.                                 pixels (which can be 0 to 200). If the region 
  5188.                                 is not perfectly vertical or horizontal, 
  5189.                                 anti-aliasing is performed.
  5190.  
  5191.                                   This method is the most useful for obtaining
  5192.                                 results which need to be compared to each 
  5193.                                 other, or when the density of a very narrow
  5194.                                 region (such as a line) is desired. Of course,
  5195.                                 a narrower region will tend to be noisier
  5196.                                 than a wide one.
  5197.  
  5198.                                   \it Fixed width \rm densitometry is slower than 
  5199.                                 the other two methods because more floating
  5200.                                 point calculations and memory accesses are 
  5201.                                 needed. However, it may be more accurate.
  5202.                                 Using fixed-width densitometry with a width of
  5203.                                 1 gives a ``transept line''.
  5204.  
  5205. \bigskip
  5206.                                 
  5207.      Options
  5208. \medskip
  5209.  
  5210. \item{}  \it      Automatically save scan
  5211. \rm                            - If this option is checked, each scan will 
  5212.                               automatically be saved in an ASCII file.  
  5213.                                 
  5214. \item{}  \it      Filename for scan  
  5215. \rm                         - A default filename of ``1.scn'' is provided.
  5216.                               If the 1st 8 characters of the filename 
  5217.                               consist entirely of digits, the program will 
  5218.                               automatically increment the filename after 
  5219.                               each scan (For example, if the starting 
  5220.                               filename was `` 1000.dat'', subsequent scans 
  5221.                               would be saved under 1001.dat, 1002.dat, 
  5222.                               etc.). If the filename contains letters, 
  5223.                               the filename must be typed in each time.
  5224.  
  5225. \item{}  \it      Plot results   
  5226. \rm                         - If checked, the scan results will
  5227.                               automatically be plotted on the screen
  5228.                               after each scan. Clicking the ``OK'' button
  5229.                               on the graph makes the graph disappear and
  5230.                               returns you to scanning mode. The graph is
  5231.                               always automatically scaled in the Y
  5232.                               direction to fill the entire box. When the
  5233.                               graph is visible, the data can be saved to
  5234.                               disk, a background curve can be subtracted
  5235.                               from the data, or the graph can be captured
  5236.                               into a new image (See ``Plotting densitometry
  5237.                               results and other data'').
  5238.                                 
  5239. \item{} \it       Pause to show region- 
  5240. \rm                           If checked, the program pauses after drawing
  5241.                               the 4 boxes, allowing you to verify that you
  5242.                               selected the correct region. Press a key to
  5243.                               continue.
  5244.                                                       
  5245.  
  5246. \medskip
  5247. \bf       Procedure:
  5248. \rm
  5249.  
  5250. \item{1.}  Select ``Image...Strip densitometry'' from the menu.
  5251.  
  5252. \item{2.}  Click on ``Maximum signal=black'' or ``Maximum signal=white'' depending
  5253.           on whether the features of interest are darker or lighter than
  5254.           the background.
  5255.  
  5256. \item{3.}  Click on ``Snap to 90 $\deg$'' , ``Diagonal scan'', or ``Fixed width''
  5257.           (see above). If you select ``Fixed width'', enter the desired width
  5258.           in pixels.
  5259.  
  5260. \item{4.}  Click on ``OK'', then click anywhere to start.
  5261.  
  5262. \item{5a.}  Click once on each corner of the rectangular area to be scanned,
  5263.           in a clockwise direction, so that 4 boxes appear on the screen.
  5264.           The region will be scanned from the first 2 to the last 2 boxes.
  5265.  
  5266. \item{5b.}  For 'Fixed-width' densitometry, click at the center of the starting
  5267.           and ending points, so that 2 boxes appear on the screen.
  5268.  
  5269. \item{6.}  If any of the boxes are in the wrong position, or the lines 
  5270.           connecting them are crossed, click and drag the boxes to the
  5271.           correct position. (NOTE: if the lines are crossed, the algorithm
  5272.           automatically swaps the coordinates to un-cross them).
  5273.  
  5274. \item{7.}  Press any key, or click anywhere to start scanning. The scan 
  5275.           results will be automatically plotted if ``plot results'' is checked.
  5276.           The densitometry scan can be saved to disk or captured into a
  5277.           new image from the plot window.
  5278.  
  5279. \item{8.}  Click on ``Save to disk'' to save the densitometry tracing in an
  5280.           ASCII file.
  5281.  
  5282. \item{9.}  Click on ``OK'' to scan the next region, or press \it ESC \rm or click
  5283.           the right mouse button to stop.     
  5284.  
  5285. \bf       NOTE: \rm See the warning under \it Contrast \rm.
  5286.           
  5287.    
  5288.  
  5289. \bigskip\hrule\bigskip
  5290. \bbb { 8.3.7  Plotting densitometry results and other data  }
  5291. \bigskip
  5292. \hrule\bigskip
  5293. \rm
  5294.  
  5295.       There are several useful options available
  5296.        in the plot mode: 
  5297. \medskip
  5298.  
  5299. \it      Save to Disk
  5300. \rm    --
  5301.        Saves the currently-displayed graph into an ASCII file.
  5302.        
  5303. \medskip
  5304. \it       Smooth
  5305. \rm    --
  5306.        Performs Gaussian smoothing on the data being displayed.
  5307.        
  5308. \medskip
  5309. \it       Auto Baseline
  5310. \rm    --
  5311.  
  5312.        Automatically calculates an optimal curved baseline and
  5313.        subtracts it from the data. The smoothness of the calculated
  5314.        baseline can be changed by clicking on ``BL smoothness''. The
  5315.        calculated baseline is displayed for 1 second before
  5316.        subtracting it.
  5317.        
  5318. \medskip
  5319. \it       Manual Baseline
  5320. \rm  --
  5321.  
  5322.        Allows you to select a baseline manually. Click at several
  5323.        locations on the graph where you want the baseline to go. Small
  5324.        squares will appear to indicate where you clicked. You can
  5325.        click-and-drag these squares to move them. When finished, press
  5326.        a key to subtract the baseline. The baseline curve is constructed  
  5327.        using a B-spline (see `B-spline curve'). The squares can be anywhere 
  5328.        on the screen, and do not have to be inside the plot. Also, you can 
  5329.        subtract a baseline from only a portion of the data by placing boxes 
  5330.        only under the portion you wish to change.  However, any negative
  5331.        numbers  created  by baseline subtraction are truncated to 0's.
  5332.        Up to 200 boxes (`control points') can be used.
  5333.        
  5334. \medskip
  5335. \it       Capture Image
  5336. \rm  --
  5337.        
  5338.        Clicking `capture' allows you to capture all or part of the
  5339.        graph into a new image. After clicking on `capture', use the
  5340.        mouse to select the desired portion of the graph. A new image
  5341.        which includes that region is then automatically created. The
  5342.        new image is put into the background, behind the image you are
  5343.        currently scanning, so that you can continue with the next
  5344.        scan.
  5345.  
  5346.  
  5347. \medskip
  5348. \it       Help
  5349. \rm  --
  5350.        Calls a help screen.
  5351.        
  5352. \medskip
  5353. \it       OK
  5354. \rm       --
  5355.        Ends plotting, returns you to densitometry mode.
  5356.  
  5357.  
  5358. \bigskip\hrule\bigskip
  5359. \bba { 8.3.8  Peak Areas  }
  5360. \bigskip
  5361. \hrule\bigskip
  5362. \rm
  5363.  
  5364.  
  5365.        Finds the x and y coordinates of each peak and  calculates  the
  5366.        peak  area.  The  integration  limits  are shown as short black
  5367.        lines on either side of each peak. No baseline  subtraction  is
  5368.        carried  out  before calculating peak areas. Thus, best results
  5369.        are usually obtained  if  you  first  subtract  a  baseline  by
  5370.        clicking on `Auto.baseline' or `Manual baseline'.
  5371.                                    
  5372.        When the list of peaks is displayed, most of the click buttons
  5373.        on the left side of the plot are still active, but now apply to the 
  5374.        peak list. This includes:
  5375.  
  5376. \hskip 2 in                      Save to disk    
  5377.  
  5378. \hskip 2 in                      Capture image
  5379.  
  5380. \hskip 2 in                      Help
  5381.  
  5382. \hskip 2 in                      OK
  5383.  
  5384.        The other buttons (`peak areas',`smooth', `manual baseline', and 
  5385.        `auto baseline') are inactivated while displaying the list.
  5386.        
  5387.        You can also close the peak area list by clicking on the `-' symbol 
  5388.        in the upper left corner.                 
  5389.       
  5390. \it       Area calculations:  
  5391. \rm    While the graph is displayed, you can also 
  5392.        manually measure peak areas by selecting the desired region 
  5393.        of the graph. To select a region, click with the left mouse
  5394.        button and drag horizontally within the graph area. When the
  5395.        mouse button is released, the total area of the selected region
  5396.        is automatically displayed.
  5397.  
  5398.  
  5399.  
  5400.  
  5401. \bigskip\hrule\bigskip
  5402. \bba { 8.3.9  Trace curve  }
  5403. \bigskip
  5404. \hrule\bigskip
  5405. \rm
  5406.  
  5407.  
  5408.      If you have an image of a graph, chromatogram, etc., TN-Image can
  5409.      convert this into an ASCII file. Currently, TN-Image only traces
  5410.      in 1 dimension, and from left to right. Contour tracings will be
  5411.      implemented later. 
  5412.      
  5413. \it     Procedure:
  5414. \rm   
  5415.   
  5416. \item{1.}  First, clean up the image to remove any stray specks, labels, or
  5417.         other points that could be confused with the graph. The entire
  5418.         image must be clean, including the edges. The trace will jump 
  5419.         to the darkest y-value point for each x value, regardless of where 
  5420.         it is located on the image, even if it is not visible on the screen.
  5421.         Use ``Paint region'' if necessary to eliminate white areas from the
  5422.         image.
  5423. \item{2.} Select ``Image...Trace curve''.
  5424. \item{3.} If you want the trace to be saved automatically, check ``Save trace''.
  5425. \item{4.} If you check ``Plot trace'', the data will be displayed. You will then
  5426.         be able to click on the ``Save'' button to save it. While the graph
  5427.         is visible, you can smooth it, subtract a background, measure
  5428.         areas, etc. (See ``Plotting densitometry results'').
  5429. \item{5.} Find the pixel value of the curve to trace by moving the mouse onto
  5430.         the desired area.  The pixel value is displayed in the information box 
  5431.         on the left after ``i=''.  Set ``Color to track'' to this value.
  5432. \item{6.} Click on ``OK'', then move the mouse cursor to the left end of the 
  5433.         curve and click the left mouse button.
  5434.  
  5435. \medskip
  5436.      A cross-hair cursor indicates what is being traced out. 
  5437.      Click on ``Cancel'' when finished.
  5438.      
  5439.      Sometimes, sharpening or thresholding the image can improve the 
  5440.      tracing. If there are extremely sharp corners in the image, it may 
  5441.      be necessary to manually create a channel between the ascending and
  5442.      descending parts of the peak to force the trace to follow to the
  5443.      top. This can be done by selecting ``Draw'' from the menu, or pressing 
  5444.      \it F2 \rm (=manual draw), and carefully moving around with the cursor keys 
  5445.      (Be sure to back up your image before starting).
  5446.      
  5447.      Checking ``Debug'' waits for a keypress after each x increment (in the
  5448.      DOS version) and prints the x, y, and the pixel value being tracked. 
  5449.      This is helpful if stray noise pixels are accidentally getting included 
  5450.      in the scan. 
  5451.      In Unix, it is possible to get a file containing this debug information
  5452.      by starting tnimage with the command \tt tnimage > debug.file \rm.
  5453.  
  5454.      Only pixels on the selected image are included in the trace. Thus,
  5455.      in order to trace something in the background, you must convert it
  5456.      to an image first (use ``File...Create/resize image'').  The tracing
  5457.      algorithm tracks whatever pixel is closest to the selected tracking
  5458.      color for each x value. Thus, if the image contains a pixel closer to 
  5459.      the tracking color than any pixels on the curve, the cursor 
  5460.      will jump to this area instead of tracing your curve. If the pixel
  5461.      is beyond the edge of the screen, the cursor will jump to the edge 
  5462.      of the screen. If this occurs, it will be necessary to delete the 
  5463.      offending area before tracing anything (The ``backspace'' key is the 
  5464.      most convenient way to do this).
  5465.      
  5466.  
  5467.  
  5468.  
  5469. \vfill\eject
  5470. \bigskip\hrule\bigskip
  5471. \bbb {  8.3.10  Mathematical pixel operations (Image Algebra) }
  5472. \bigskip
  5473. \hrule\bigskip
  5474. \rm
  5475.  
  5476.  
  5477.         Although it is possible to add or multiply pixel values by any 
  5478.         factor by using the ``brightness'' or ``contrast'' menu items, 
  5479.         TN-Image also has a more powerful tool -- mathematical pixel
  5480.         operations.                      
  5481.  
  5482.         Using the ``math'' menu, you can enter any mathematical formula
  5483.         to transform each pixel value in one pass. This formula could
  5484.         be any legal mathematical equation consisting of constants, 
  5485.         variables, and operators from the following list:
  5486.  
  5487. \it        Constants 
  5488. \rm    -  any real number (floating point or integer)
  5489.  
  5490. \it        Variables 
  5491. \rm            -  one of 4 pre-defined variables:
  5492.  
  5493. \hskip 2 in                        i  =  intensity (total pixel value)
  5494.  
  5495. \hskip 2 in                        r  =  red component of the pixel   
  5496.  
  5497. \hskip 2 in                        g  =  green component of the pixel 
  5498.  
  5499. \hskip 2 in                        b  =  blue component of the pixel  
  5500.  
  5501.  
  5502. \it        Operators -    
  5503. \rm
  5504.  
  5505. \hskip 2 in                        () =  parentheses
  5506.  
  5507. \hskip 2 in                        *  =  multiplication
  5508.  
  5509. \hskip 2 in                        /  =  division
  5510.  
  5511. \hskip 2 in                        +  =  addition
  5512.  
  5513. \hskip 2 in                        --  =  subtraction
  5514.  
  5515. \it       Integer operators -
  5516.  
  5517.           NOTE: The operands are truncated to integers before integer operators
  5518.           are applied. 
  5519. \rm          
  5520.  
  5521. \hskip 2 in                       \^ \- =  bitwise XOR
  5522.  
  5523. \hskip 2 in                       \&  =  bitwise AND
  5524.  
  5525. \hskip 2 in                       $ | $ =  bitwise OR
  5526.  
  5527. \hskip 2 in                        \~ \- =  bitwise NOT
  5528.  
  5529.         
  5530. \it        Single parameter functions
  5531. \rm
  5532.  
  5533. \hskip 2 in      sin cos tan 
  5534.  
  5535. \hskip 2 in      sinh cosh tanh 
  5536.  
  5537. \hskip 2 in      asin acos atan 
  5538.  
  5539. \hskip 2 in      sqrt  abs 
  5540.  
  5541. \hskip 2 in      log \it (natural logarithm) \rm 
  5542.  
  5543. \hskip 2 in      ln \it (natural logarithm) \rm
  5544.  
  5545. \hskip 2 in      log10 \it (base 10 logarithm) \rm 
  5546.  
  5547. \hskip 2 in      exp 
  5548.  
  5549. \hskip 2 in      pi 
  5550.  
  5551. \hskip 2 in        rand \it (random number based on specified seed, scaled 0-255.0)
  5552.  
  5553.  
  5554. \it      The following 4 functions are only available on Linux:
  5555. \rm
  5556.         
  5557. \hskip 2 in        asinh 
  5558.  
  5559. \hskip 2 in        acosh 
  5560.  
  5561. \hskip 2 in        atanh 
  5562.  
  5563. \hskip 2 in        cbrt \it (cube root) \rm
  5564.  
  5565.  
  5566. \it        Two-parameter functions
  5567. \rm
  5568.  
  5569. \hskip 2 in        max 
  5570.  
  5571. \hskip 2 in        min     
  5572.  
  5573. \hskip 2 in        pow \it (pow(x,y) = x raised to the power y) \rm
  5574.   
  5575.   
  5576.         For example, if you entered the following equations:
  5577.  
  5578. \hskip 2 in                    r=r+3
  5579.  
  5580. \hskip 2 in                    g=(r/4)+1.2345
  5581.  
  5582. \hskip 2 in                    b=g--pow(b,2)
  5583.  
  5584.         each pixel would have its red component increased by 3, its
  5585.         green component would be set equal to red/4 + 1.2345, and blue
  5586.         would be set equal to green minus (blue squared).
  5587.         
  5588.         To edit the equation, use the mouse or arrow keys to highlight
  5589.         the desired row. Press \it Enter \rm and edit the equation. Click on
  5590.         \it OK \rm or press \it Enter \rm again when finished. 
  5591.         
  5592.         To perform ``gamma correction'' to your image, enter the following
  5593.         equations:
  5594.  
  5595. \hskip 2 in                    r = pow(r,1.8)
  5596.  
  5597. \hskip 2 in                    g = pow(g,1.8)
  5598.  
  5599. \hskip 2 in                    b = pow(b,1.8) , 
  5600.  
  5601.         where 1.8 is the gamma correction factor.  For monochrome, a higher
  5602.         value (e.g., 2.35) is often used.
  5603.                     
  5604.         To eliminate all pixels below 100 and above 200:
  5605.  
  5606. \hskip 2 in        i = min(200,max(i,100))
  5607.         
  5608. \vskip 0.2 in
  5609. \bba Using data from other images\rm
  5610. \vskip 0.1 in
  5611.     
  5612.         Mathematical operations can also be performed using data from other
  5613.         images, other frames, or other regions in the same image using the [][][][]
  5614.         operator:
  5615.  
  5616. \vskip 0.05 in
  5617. \it Unix version: \rm
  5618.  
  5619. \hskip 2 in                 image[image\_number][frame][x][y]
  5620.  
  5621. \hskip 2 in                 red[image\_number][frame][x][y]
  5622.  
  5623. \hskip 2 in                 green[image\_number][frame][x][y]
  5624.  
  5625. \hskip 2 in                 blue[image\_number][frame][x][y]
  5626.  
  5627. \vskip 0.05 in
  5628. \it DOS version: \rm
  5629.  
  5630. \hskip 2 in                 image[image\_number][x][y]
  5631.  
  5632. \hskip 2 in                 red[image\_number][x][y]
  5633.  
  5634. \hskip 2 in                 green[image\_number][x][y]
  5635.  
  5636. \hskip 2 in                 blue[image\_number][x][y]
  5637.  
  5638. \vskip 0.05 in
  5639.  
  5640.         where:
  5641.         
  5642. \vskip 0.1 in
  5643.          \it image\_number \rm is the number assigned to the source image by 
  5644.         \tt tnimage \rm (This number may change unexpectedly when images 
  5645.         are unloaded).
  5646.         
  5647.         \it frame \rm is the frame number of the source image (3D images only). 
  5648.         For non-3D images, the
  5649.         frame number must be 0. It may be convenient to create an image with 2 or 
  5650.         more frames to hold intermediate calculations. By default, no intermediate 
  5651.         values are stored; therefore, an equation such as
  5652.         
  5653. \hskip 2 in                 i = image[0][0][x-1][y-1]
  5654.                  
  5655.         will overwrite its own source data.
  5656.  
  5657.         \it y \rm and \it x \rm are the coordinates of the source pixel.  
  5658.         The coordinates are relative to the upper left corner of the source image. 
  5659.  
  5660. \vskip 0.1 in
  5661.         All numbering of frames, images, and x and y coordinates starts with 0.
  5662.         An invalid coordinate, frame, or image does not cause an error but returns
  5663.         a value of 0.0. The formula is iterated over every (x,y) in the selected
  5664.         destination image or region.
  5665.  
  5666.         If this form is used, all 4 bracketed parameters must be specified even 
  5667.         if only one frame exists.  
  5668.  
  5669.         Since 3D images are not supported in the DOS version, only the image number
  5670.         and x and y coordinates need to be specified.
  5671.         
  5672. \vskip 0.2 in
  5673.         \it Example: \rm Subtracting 2 images with a small offset and increase the
  5674.         brightness of the result by a factor of 2.5.
  5675.         
  5676.         1. Click on destination image. (Assume source image is \#1).
  5677.         
  5678.         2. Select ``image math''.
  5679.         
  5680.         3. i=2.5*(i-image[1][0][x-2][y-2])
  5681.  
  5682. \vskip 0.2 in
  5683.         \it Example: \rm Making all the pixel values in image \#0 an even number:\par
  5684.         \tt i=image[0][0][x][y]\&254
  5685.  
  5686.  
  5687. \rm\vskip 0.2 in
  5688.         Mathematical formulas may also be entered in the macro editor as single-line
  5689.         formulas such as
  5690.  
  5691. \hskip 2 in            \tt  math \it formula
  5692.  
  5693. \rm      or multiple line formulas such as:
  5694.  
  5695. \hskip 2 in            \tt  math 1   \it (starts image math mode)
  5696.  
  5697. \hskip 2 in            \it  formula1
  5698.  
  5699. \hskip 2 in            \it  formula2
  5700.  
  5701. \hskip 2 in            \tt  ...
  5702.  
  5703. \hskip 2 in            \tt  math 0    \it (ends image math mode)
  5704.  
  5705. \hskip 2 in            \tt  ... \it other macro commands \tt ... \rm
  5706.  
  5707.         This has the advantage that multi-line formulas may be used and
  5708.         saved to disk or copied from the X Window clipboard using the mouse.
  5709.  
  5710.  
  5711. \vfill\eject
  5712. \bigskip\hrule\bigskip
  5713. \bba { 8.3.11  Transform (FFT)  }
  5714. \bigskip
  5715. \hrule\bigskip
  5716. \rm
  5717.  
  5718.                   
  5719.         Performs a Fast Fourier Transform on the image or selected
  5720.         region. This can use a lot of memory because the frequencies are 
  5721.         stored as double-precision complex numbers, which require 16 
  5722.         bytes for each pixel. Thus, an FFT is 4 times as expensive as 
  5723.         a 32-bit image. Additionally, the mathematics of the FFT requires 
  5724.         that the image be first enlarged so that each dimension is the next
  5725.         higher power of two. For example, if your image is 129 x 67 pixels, 
  5726.         TN-Image has to create a new buffer of 256 x 128 pixels (524,000
  5727.         bytes) to carry out the calculations.
  5728.         
  5729.         The FFT result is a matrix which is displayed as a new 128 bit/pixel 
  5730.         image. This new image can be saved, unloaded, annotated, filtered, 
  5731.         and manipulated like any other image. Any changes you make
  5732.         to this image (such as adding text) are also converted to the 
  5733.         appropriate floating point numbers and inserted at the appropriate 
  5734.         position into the displayed component (real or imaginary) of the 
  5735.         FFT matrix. Therefore, changing pixels on the displayed image could 
  5736.         change the real component of the FFT, the imaginary component, or 
  5737.         both. After editing the image to enhance or eliminate specific 
  5738.         spatial frequencies, you can then perform a reverse FFT to obtain 
  5739.         the filtered result. 
  5740.         
  5741. \medskip\it
  5742.         Forward/Reverse/Change display only            
  5743. \rm    
  5744.                        
  5745.         Selects whether to carry out a forward or reverse FFT, or to
  5746.         merely change which component (original image, imaginary, real, 
  5747.         or power spectrum) is being displayed. No actual change is made 
  5748.         to the FFT data.
  5749.        
  5750.         
  5751. \medskip\it        Real/Imaginary/Power spectrum     
  5752. \rm        
  5753.  
  5754.         Selects whether to display the real, imaginary, or power spectrum 
  5755.         component of the transformed image, or only the original image.
  5756.         
  5757. \bf        NOTE: 
  5758. \rm     If you select ``imaginary'' or ``power  spectrum'', the displayed 
  5759.         image will appear black if you perform a FFT followed by a reverse 
  5760.         FFT. This is because the original data do not have an imaginary 
  5761.         component. The original data are not lost!
  5762.                            
  5763.  
  5764. \medskip      
  5765.         Although a complete description of the many applications of
  5766.         FFT's and deconvolution is beyond the scope of the manual, there 
  5767.         are a few TN-Image- specific points worth remembering:
  5768.  
  5769. \item{1.}  Regardless  of  the  screen  mode  or color depth of the
  5770.         image, the FFT and deconvolution algorithms treat  all  pixels
  5771.         as  monochrome.  Thus, a 24-bit/pixel image is treated as a 24
  5772.         bit deep grayscale image. In other words, the colors  are  not
  5773.         deconvoluted separately in the current version of TN-Image.
  5774.  
  5775. \item{2.} The grayscale mapping algorithm sets the most negative 
  5776.         FFT result to black and the most positive FFT result to white.
  5777.         Thus, zero will be some shade of gray.
  5778.                            
  5779. \item{3.} Editing  power  spectra will lead to unpredictable results 
  5780.         in your image. 
  5781.                    
  5782. \item{4.} Select ``About...About the image'' to view some of the FFT
  5783.         parameters. These include:
  5784.  
  5785. \hskip 1 in         Minimum FFT value (which is mapped to black)
  5786.  
  5787. \hskip 1 in         Maximum FFT value (which is mapped to white)
  5788.  
  5789. \hskip 1 in         FFT=0 color value (the color to which FFT values of zero are mapped)
  5790.  
  5791. \hskip 1 in         FFT=0 RGB values (the corresponding red, green, and blue components 
  5792.            of the FFT=0 color value).
  5793.  
  5794. \hskip 1 in        These  numbers can be used to calculate the color values needed
  5795.         to edit the image in the frequency domain to remove or accentuate  
  5796.         specific fequencies. The filtered image can then be reverse-
  5797.         transformed to obtain the result.
  5798.  
  5799. \vfill\eject
  5800.          
  5801. \item{5.}  FFT's are displayed in the conventional manner,  i.e.  with
  5802.         lowest  positive  frequencies  at  the  top  and  left,  lowest
  5803.         negative  frequencies  on  the right and bottom, and Nyquist in
  5804.         the center, with the exception that only the real or  imaginary
  5805.         components are shown, as illustrated in the diagram below:
  5806.         
  5807.  
  5808. % In the table below, any text inside the vbox has to be a superscript
  5809. % to prevent descenders from adding a space in the box.
  5810. % Unfortunately, it is impossible to select the size of a superscript.
  5811. % Also, you can't have labels outsize the box.
  5812.  
  5813. \rma
  5814. \def\va { \vrule height .4 cm }
  5815. \def\vb { \vrule height .6 cm }
  5816. \def\v { \vrule height 1 cm }
  5817. \def\vv { \vrule height 2 cm }
  5818. \def\vvv { \vrule height 3 cm }
  5819. \def\hhhhhhh { \hrule width 7 cm }
  5820. \medskip              % sets ``horizontal mode''
  5821. \settabs \+ \hskip 3.5 cm & \hskip 2.5 cm & \hskip 1 cm & \cr
  5822. \moveright 1 in
  5823. \vbox
  5824. {   \offinterlineskip
  5825.     \hhhhhhh
  5826.     \+ \vb $^{0,0 Frequency}$ & \vb     & \vb         & \vb \cr        % .6 cm vertical lines 
  5827.     \+ \va                    & \va     & \va         & \va \cr        % .4 cm vertical lines 
  5828.     \+ \v                     & \v      & \v  \hfil a & \v  \cr        %  1 cm vertical lines 
  5829.     \+ \v                     & \v      & \v          & \v  \cr        %  1 cm vertical lines 
  5830.     \+ \va                    & \va     & \va         & \va \cr        % .4 cm vertical lines 
  5831.     \hhhhhhh                                                           %  7 cm horizontal line
  5832.     \+ \vb         & \vb $^{Nyquist}$     & \vb         &  \vb  \cr    % .6 cm vertical lines
  5833.     \+ \va         & \va $^{Frequency}$   & \va         &  \va  \cr    % .4 cm vertical lines
  5834.     \+ \v          & \v                   & \v \hfil a  &  \v  \cr     %  1 cm vertical lines
  5835.     \+ \va         & \va                  & \va     z   & \va  \cr     % .4 cm vertical lines 
  5836.     \hhhhhhh                                                           % 7 cm horizontal line    
  5837.     \+ \va \hfil a & \va   \hfil a        & \va \hfil a & \va  \cr     % 0.25 cm vertical lines
  5838.     \+ \vb         & \vb                  & \vb         & \vb  \cr     % 0.75 cm vertical ines
  5839.     \hhhhhhh                                                           % 7 cm horizontal line   
  5840. }
  5841.  
  5842. \bigskip
  5843. \rm
  5844.   In this diagram, 'z' marks the lower right corner of the original image.
  5845.   The 0,0 frequency is in the upper left corner, and the f=0 frequencies run vertically
  5846.   along the left and top edge, from f=0, f=1/N, ... f=n, f=-n, ... f= -1/N. 
  5847.   
  5848.  
  5849.   If the x or y size of the image is not a power of 2, the portion of the FFT from the
  5850.   original size of the image up to the next power of 2 is not visible in the displayed
  5851.   result.  These regions, which consist of the lowest negative frequencies, are marked 
  5852.   'a'. The Nyquist frequency will also be off-center in this case. It is
  5853.   possible to change the image size to make its dimensions a power of 2 before calculating 
  5854.   the FFT with the ``File...Create/resize image'' option. This will greatly facilitate
  5855.   interpretation of the results and also facilitate frequency-domain filtering.
  5856.  
  5857.         
  5858. \item{6.} FFT's should be done with as few other images present as possible.
  5859.         Because an FFT is extremely memory-intensive, if TN-Image is forced 
  5860.         to use virtual memory, the FFT may take a very, very long time.
  5861.         
  5862. \item{7.} When deconvoluting or convoluting, the two images should be 
  5863.         approximately the same size for optimal results. 
  5864.         
  5865. \item{8.} Avoid image sizes that are just larger than a power of 2, such 
  5866.         as 129 x 129 pixels. This will cause the complex array for FFT to 
  5867.         be allocated as the next higher power of 2 (i.e., 256 x 256).
  5868.         The additional pixels will also be set to solid black, which will
  5869.         create artifacts in the FFT.
  5870.                              
  5871. \item{9.} The screen mappings of FFT intensity values are automatically 
  5872.         rescaled whenever the FFT image is redrawn. Thus, changing the 
  5873.         contrast of an FFT'd image will appear to have no effect.
  5874.  
  5875.  
  5876. \vfill\eject
  5877. \bigskip\hrule\bigskip
  5878. \bba { 8.3.11.1 Convolution  }
  5879. \bigskip
  5880. \hrule\bigskip
  5881. \rm
  5882.  
  5883.        
  5884.         View the image DECONVOL.TIF for a quick tutorial on convolution 
  5885.         and deconvolution. 
  5886.          
  5887. \it        Convolution      - 
  5888. \rm
  5889.                            
  5890.         Convolutes two images. Convolution is the same as multiplication   
  5891.         in the frequency domain. Therefore, the resultant image will have 
  5892.         the characteristics of both images. In the simplest possible example, 
  5893.         a sharp image convolved with an image of a blurred point will become 
  5894.         blurry. An image convolved with a single point is unchanged. 
  5895.   
  5896.  
  5897.  
  5898. \bigskip\hrule\bigskip
  5899. \bba { 8.3.11.2 Deconvolution and image reconstruction  }
  5900. \bigskip
  5901. \hrule\bigskip
  5902. \rm
  5903.  
  5904.  
  5905.         Deconvolution is a form of image reconstruction which was made 
  5906.         famous by successfully being used on the distorted images from 
  5907.         the Hubble space telescope. As with convolution, two images are
  5908.         required. Typically, one of the two images is a \it point spread 
  5909.         function \rm, or psf, which represents the effect of distortion on 
  5910.         a single pixel, and the other is the image from which this distortion
  5911.         is to be removed. The two images must be approximately the same size. 
  5912.         For example, if your image is blurred by spherical distortion from 
  5913.         a bad lens, you would create an image the same size as your blurry 
  5914.         test image, but consisting of a single point in the upper left of the 
  5915.         image on a black background, subjected to the same blurring effect. 
  5916.         If the point spread function is known accurately, after deconvolution
  5917.         the blur will be removed. In effect, a priori knowledge from outside 
  5918.         the image is used to remove the distortion.
  5919.         
  5920.         In principle, any degraded image can be reconstructed by 
  5921.         deconvolution if the point spread function is known.  If a photo 
  5922.         is blurred due to movement in one direction, the point spread
  5923.         function would be a line in the direction of motion whose length 
  5924.         depends on the amount of movement. In practice, deconvolution will
  5925.         not work for every image.
  5926.  
  5927.         This method is far more powerful than using a ``sharpening'' filter, 
  5928.         because any arbitrary type of degradation of the image can be 
  5929.         eliminated. In practice, noise (especially noise in the psf) or 
  5930.         low precision in the FFT will cause inaccuracies in the recovered 
  5931.         image. For this reason, FFT's in TN-Image are maintained as 
  5932.         double-precision numbers. Also, if the spatial frequency of the 
  5933.         psf at any point happens to be zero, it will also be impossible 
  5934.         to reconstruct that point (since it would require dividing
  5935.         by zero). Adding a little noise to the psf will ensure that all 
  5936.         frequencies are non-zero. Thus, sometimes it is necessary to 
  5937.         tolerate some noise in the psf to get good image recovery.
  5938.         
  5939. \bf     Important: 
  5940. \rm     The point spread function must be centered at the upper
  5941.         left corner of the image to be used as a psf. Otherwise, a
  5942.         translation effect will also be convoluted into or out of the image.
  5943.  
  5944. \medskip
  5945. \it        Exercise: 
  5946. \rm     Try deconvoluting fft1.tif and fft2.tif. It should be
  5947.         possible to reconstruct the original image in fft1.tif, which was 
  5948.         a small square, despite the complicated point spread function in 
  5949.         fft2.tif which renders the distorted image unrecognizable. The more 
  5950.         complicated the point spread function, the more difficult it is to 
  5951.         recover a noise-free image.
  5952.  
  5953.  
  5954. \vfill\eject
  5955. \bigskip\hrule\bigskip
  5956. \bba { 8.3.11.3 Digital Filtering of images using the FFT  }
  5957. \bigskip
  5958. \hrule\bigskip
  5959. \rm
  5960.  
  5961.      
  5962.         Digital filtering can be easily done while the FFT spectrum is being
  5963.         displayed, by changing the pixels which correspond to the frequencies
  5964.         you wish to change. This is most conveniently done by setting the
  5965.         background  color to ``black'' and using \it delete \rm or \it backspace
  5966.         \rm to
  5967.         erase the frequencies you wish to remove; or by selecting ``sketch''
  5968.         ( \it F2 \rm ) and adding points at the desired frequencies by drawing with
  5969.         the mouse. It is necessary to change both the real and imaginary components
  5970.         as well as the positive and negative 
  5971.         frequencies to achieve good filtering. This means the entire FFT
  5972.         matrix must be visible, i.e., the original image must be close to
  5973.         a power of 2 in each dimension.
  5974.  
  5975. \proclaim        Example: High-pass filtering.
  5976.  
  5977. \item{1.} Make sure the original image size is a power of 2.
  5978.  
  5979. \item{2.} Set background color to black by right-clicking on ``black'' in
  5980.            the colormap palette.
  5981. \item{3.} Forward-FFT the image.
  5982. \item{4.} Delete the low-frequency regions (as shown with a 'L') with the
  5983.            'delete' key.
  5984. \item{5.} Alternatively, use the mouse to select these regions and use
  5985.            ``paint region'', ``change contrast'' or ``color/intensity'' to make
  5986.            them darker.
  5987. \item{6.} Optionally, you can also enhance the higher frequencies by 
  5988.            using ``enhance contrast'' in the high-frequency region (shown 
  5989.            by 'H'.
  5990. \item{7.} Drawing on a FFT'd image only affects the component being 
  5991.            displayed (``real'' by default). Apply the same filtering
  5992.            procedure to the imaginary component by selecting ``FFT...
  5993.            change display...imaginary'' and repeat the changes.
  5994.        
  5995. \bigskip\tt
  5996. \settabs 1 \columns
  5997. \+                 .LLLL---------------------LLLLL    \cr
  5998. \+                 LLLLL..........|..........LLLLL    \cr
  5999. \+                 |..............|..............|    \cr
  6000. \+                 |..............|..............|    \cr
  6001. \+                 |..............|..............|    \cr
  6002. \+                 |..........HHHHHHHHH..........|    \cr
  6003. \+                 |----------HHHHHHHHH----------|    \cr
  6004. \+                 |..........HHHHHHHHH..........|    \cr
  6005. \+                 |..............|..............|    \cr
  6006. \+                 |..............|..............|    \cr
  6007. \+                 |..............|..............|    \cr
  6008. \+                 LLLLL..........|..........LLLLL    \cr
  6009. \+                 LLLLL---------------------LLLLL    \cr
  6010.  
  6011. \rm
  6012. \medskip
  6013. \item{8.} Reverse-FFT to obtain the filtered image. \it Note: \rm Changing
  6014.           the zero-frequency pixel (at the upper left corner of the FFT)
  6015.           will have drastic effects on the image.
  6016. \vfill\eject        
  6017.  
  6018.  
  6019.  
  6020.  
  6021. \bigskip\hrule\bigskip
  6022. \bbb { 8.3.12 Macros  }
  6023. \bigskip
  6024. \hrule\bigskip
  6025. \rm
  6026.     
  6027.        TN-Image can execute a series of predefined commands. This is
  6028.        particularly useful when a large number of images need to be 
  6029.        processed in an identical manner. Technically, the macros in
  6030.        TN-Image are not macros but small programs. The macro editor 
  6031.        can also edit small text files (up to 255 lines), making it useful 
  6032.        as a clipboard for making notes.
  6033.  
  6034.        Macro commands consist of the text of one of the menu items,
  6035.        followed by a series of parameters which are usually numeric.
  6036.        A number of other commands, not visible in the menus, are also
  6037.        available.
  6038.        Any menu item from any menu can be part of a macro, with the 
  6039.        following caveats:
  6040. \item{1.}  Spaces should be replaced by underlines (\_) or omitted.
  6041. \item{2.} Periods and check marks should be omitted.
  6042. \item{3.} Capitalization is not significant.
  6043.        
  6044.        The numbering of command parameters corresponds to the 
  6045.        order in which the item would appear in the menu or dialog box.
  6046.        It is not necessary to give all the parameters. If a parameter
  6047.        is not given, it will be unchanged from the last time the command
  6048.        was executed.  Macro names include:
  6049.       
  6050.  
  6051. \tt
  6052.   3d \par
  6053.   aboutthefile \par
  6054.   abouttheimage \par
  6055.   abouttheprogram \par
  6056.   acquire \par
  6057.   addborder \par
  6058.   arrow \par
  6059.   automaticundo \par
  6060.   backgroundcolor \par
  6061.   backup \par
  6062.   beep \par
  6063.   border \par
  6064.   box \par
  6065.   brightness \par
  6066.   calibration \par
  6067.   changecolordepth \par
  6068.   changepalette \par
  6069.   changepixelvalues \par
  6070.   changesize \par
  6071.   changetitle \par
  6072.   chromakey \it Toggles chroma-key on or off for current image \tt\par
  6073.   circle \par
  6074.   color \par
  6075.   color->grayscale \par
  6076.   colorbrightness \par
  6077.   colormap \par
  6078.   configure \par
  6079.   contrast \par
  6080.   convert \par
  6081.   copy \par
  6082.   createfileformat \par
  6083.   createimage \par
  6084.   createresizeimage \par
  6085.   crop \par
  6086.   curve \par
  6087.   deleteregion \par
  6088.   erasebackground \par
  6089.   erasefft \par
  6090.   executeplugin \par
  6091.   exit \par
  6092.   fft \par
  6093.   fileformat \par
  6094.   fill \par
  6095.   fillregion \par
  6096.   filter \par
  6097.   fliphoriz \par
  6098.   flipvertically \par
  6099.   font \par
  6100.   foregroundcolor \par
  6101.   grayscale->color \par
  6102.   help \par
  6103.   histogram \par
  6104.   howtoregister \par
  6105.   image \it(select an image)\tt\par 
  6106.   imagemath \par
  6107.   invertcolors \par
  6108.   label \par
  6109.   line \par
  6110.   loadfft \par
  6111.   loadimage \par
  6112.   macro \par
  6113.   math \par
  6114.   measure \par
  6115.   move \par
  6116.   new \it Creates new image \tt\par
  6117.   paint \par
  6118.   paintregion \par
  6119.   palette \par
  6120.   pixelinteractmode \par
  6121.   printimage \par
  6122.   print \par
  6123.   quit \par
  6124.   remapcolors \par
  6125.   repair \par
  6126.   resizeimage \par 
  6127.   restore \par
  6128.   rotate \par
  6129.   rotateimage \par
  6130.   save \par
  6131.   savefft \par
  6132.   saveimage \par
  6133.   savescandata \par
  6134.   select \it(select a region)\tt\par 
  6135.   selectaregion \par
  6136.   selectregion \par
  6137.   selectimage \par
  6138.   testplugin \par
  6139.   scan \it Same as ``acquire'' \tt\par
  6140.   showodtable \par
  6141.   showpalette \par
  6142.   size \par
  6143.   sketch \par
  6144.   smooth \par
  6145.   spotdensitometry \par
  6146.   spray \par
  6147.   stripdensitometry \par
  6148.   testplugin \par
  6149.   textdirection \par
  6150.   tracecurve \par
  6151.   transparency \it Sets amount of transparency (0-255)
  6152.   undo \par
  6153.   unloadimage \par
  6154.   unload \par
  6155.   unloadall \par
  6156.   warp \par
  6157.   windows \it Toggles separate window mode for new images\tt\par
  6158.   windowborder \it Toggles window manager border for new images\tt\par
  6159.  
  6160. \tt    
  6161.  
  6162. \medskip\rm       
  6163.        Of course, interactive commands (such as \tt sketch \rm and \tt help 
  6164.        \rm) are not too
  6165.        useful in a macro. But they can be quite useful as commands for user-defined
  6166.        buttons (Sec. 7.1.4).
  6167.  
  6168.  
  6169.  
  6170. \rm\bigskip
  6171.  
  6172.        You can cause the macro to ask for any parameter by substituting the
  6173.        value with a question mark followed (with no spaces) by a prompt
  6174.        string. For example, for the  `load' command, the first parameter
  6175.        is the filename. If instead of putting an actual filename in the
  6176.        macro, such as
  6177.   
  6178. \tt                   load myimage.tif 
  6179. \rm
  6180.  
  6181.        you use 
  6182.  
  6183. \tt                   load ?Enter\_some\_kind\_of\_filename
  6184. \rm
  6185.  
  6186.        the program will ask you to enter a filename each time, by presenting
  6187.        a message box like the following:
  6188.  
  6189. \medskip\tt       
  6190.              -----------------------------------
  6191.  
  6192.              |Enter\_some\_kind\_of\_filename.......|
  6193.  
  6194.              |---------------------------------|
  6195.  
  6196.              |.................................|
  6197.  
  6198.              |.................................|
  6199.  
  6200.              |.................................|
  6201.  
  6202.              |.................................|
  6203.  
  6204.              -----------------------------------
  6205. \rm\medskip
  6206.  
  6207.        At this point, you can type the filename and press \it Enter \rm to 
  6208.        continue. The prompt string cannot contain spaces, because a space
  6209.        is interpreted as the beginning of the next parameter. There can
  6210.        be any number of prompts for each command.
  6211.        
  6212.        
  6213. \bf       NOTES:
  6214. \rm    No checking is done on the response to make sure it is a valid 
  6215.        answer. In the case of a filename, the macro interpreter itself does 
  6216.        not check whether the answer is a valid filename or even that a 
  6217.        filename is actually required for this parameter. Similarly, no 
  6218.        checking of your commands is done to make sure the macro is a valid 
  6219.        command. A command that is invalid, for example, by being misspelled,
  6220.        will either be skipped, or if it generates a fatal error, will cause
  6221.        the macro to be stopped.
  6222.        
  6223.  
  6224.        This is a partial listing of commands which require parameters. 
  6225.        Parameters must be specified in the indicated sequence and
  6226.        separated by spaces. All parameters must be on the same line as 
  6227.        the command. Each command must be on a separate line.
  6228.        
  6229.        Anything that appears in any of the menus may also be used as a
  6230.        command. Those commands that do not require parameters are not 
  6231.        listed here. Some, such as 'automatic\_undo' toggle a feature on 
  6232.        or off. For these commands, use the same command a second time 
  6233.        to turn the feature back on.
  6234.        
  6235.        Unless noted otherwise, all parameters can be omitted. This 
  6236.        causes the current default setting to be used. However, parameters cannot
  6237.        be skipped. Thus, if you wish to set parameter \#3, for example,
  6238.        you also must set parameters \#1 and \#2.
  6239.  
  6240.        If a fatal error occurs, the macro is automatically terminated
  6241.        and an error message is displayed showing what line caused the error.
  6242.  
  6243. \medskip
  6244.        If images are in separate windows, the desired image should be selected
  6245.        before selecting coordinates. Otherwise, the coordinates may be 
  6246.        calculated relative to some other image. These coordinates could
  6247.        be well off screen and result in unknowingly corrupting some other
  6248.        image. For example: \par
  6249.            
  6250.            \tt image 2 \par
  6251.                select 100 100 200 200
  6252.            \rm
  6253.            
  6254. \bigskip\bf
  6255. \settabs 5 \columns   
  6256. \+ \hfil   Command   &Parameter\# &Refers to      &Value       &Meaning     \cr
  6257. \rm
  6258. \+ \hfil   --------  &----------- &-----------    &-----        &--------    \cr     
  6259. \+ \hfil  filter     & 1          &filter type    &0            &low pass    \cr
  6260. \+ \hfil             &            &               &1            &high pass   \cr
  6261. \+ \hfil             &            &               &2            &laplace     \cr
  6262. \+ \hfil             &            &               &3            &background subtract \cr
  6263. \+ \hfil             &            &               &4            &background flatten  \cr
  6264. \+ \hfil             &            &               &5            &noise (median)      \cr
  6265. \+ \hfil             &            &               &6            &sharpen /           \cr
  6266. \+ \hfil             &            &               &7            &sharpen \tt|\rm     \cr
  6267. \+ \hfil             &            &               &8            &sharpen --          \cr
  6268. \+ \hfil             &            &               &9            &sharpen $\backslash$\cr
  6269. \+ \hfil             &            &               &10           &edge detect --      \cr
  6270. \+ \hfil             &            &               &11           &edge detect \tt|\rm \cr
  6271. \+ \hfil             &            &               &12           &sobel               \cr
  6272. \+ \hfil             & 2          &kernel size:   &1            &3x3  \cr
  6273. \+ \hfil             &            &               &2            &5x5  \cr
  6274. \+ \hfil             &            &               &3            &9x9  \cr
  6275. \+ \hfil             &            &               &4            &15x15 \cr
  6276. \+ \hfil             &3           &amount of      &             &      \cr
  6277. \+ \hfil             &            &filtering      &(1-10)       &      \cr
  6278. \+ \hfil             &4           &range  (median filter)       &      \cr     
  6279. \+ \hfil             &5           &kernel multip. &(any integer)&      \cr
  6280. \+ \hfil             &6           &max background &0            &black \cr
  6281. \+ \hfil             &            &               &1            &white \cr
  6282.  
  6283. \bf                         Examples: 
  6284.  
  6285. \tt filter 5 1 3 10 1 1
  6286. \rm
  6287.  
  6288.                                           Filters the currently-selected
  6289.                                           image or area using a 3x3 median
  6290.                                           filter, with a filtering level
  6291.                                           of 3, a range of +/-10, kernel
  6292.                                           multiplier of 1, and white declared
  6293.                                           as the background.
  6294.  
  6295. \tt                                   filter 11 2
  6296.  
  6297. \rm                                          Filters the currently-selected
  6298.                                           image or area using a 5x5 Sobel 
  6299.                                           filter.
  6300.  
  6301. \medskip
  6302. \settabs 4 \columns
  6303. \bf   
  6304. \+ \hfil   Command          &Parameter\# &Refers to                \cr
  6305. \rm
  6306. \+ \hfil   --------         &----------- &-----------              \cr
  6307. \+ \hfil   select\_region   & 1          & upper left x coord.     \cr
  6308. \+ \hfil                    & 2          & upper left y coord.     \cr
  6309. \+ \hfil                    & 3          & lower right x coord.    \cr
  6310. \+ \hfil                    & 4          & lower right y coord.    \cr
  6311. \medskip
  6312.  
  6313.                                 Sets boundary for other operations such
  6314.                                 as contrast. The coordinate values are 
  6315.                                 relative to the upper left corner of the
  6316.                                 screen (= 0,0). Select\_region is cancelled
  6317.                                 by select\_image and vice versa. All 4 
  6318.                                 parameters must be given.
  6319.                                 
  6320. \bf                             Example:  
  6321.  
  6322. \tt                             select\_region 100 100 200 200
  6323.  
  6324. \rm                             This has the same effect as clicking-and-
  6325.                                 dragging the mouse from (100,100) to (200,200).
  6326.  
  6327. \bigskip
  6328. \settabs 4 \columns
  6329. \bf      
  6330. \+ \hfil   Command          &Parameter\# &Refers to                \cr
  6331. \rm
  6332. \+ \hfil   --------------   &----------- &-----------              \cr
  6333. \+ \hfil   select\_image    & 1          &image no.                \cr
  6334.  
  6335.  
  6336. \bigskip
  6337. \bf                                        NOTE: 
  6338. \rm                                        Image numbering changes 
  6339.                                            unpredictably when an image is
  6340.                                            unloaded. This is because images
  6341.                                            are rearranged to compact the
  6342.                                            free space.
  6343.                                            
  6344. \bf                                Example:
  6345.  
  6346. \tt                                    select\_image 5
  6347.  
  6348. \rm                                Has the same effect as double-clicking on
  6349.                                    image \#5.           
  6350.            
  6351. \bigskip
  6352. \settabs 6 \columns   
  6353. \bf
  6354. \+ \hfil   Command          &Parameter\# &Refers to                \cr
  6355. \rm
  6356. \+ \hfil   --------------   &----------- &-----------              \cr
  6357. \+ \hfil   load             & 1          & filename (can include wildcards)  \cr
  6358. \+ \hfil                    & 2          & x position for upper left corner  \cr
  6359. \+ \hfil                    & 3          & y position for upper left corner  \cr
  6360. \+ \hfil                    & 4          & x size (0 to 1) (1=full size)     \cr
  6361. \+ \hfil                    & 5          & y size (0 to 1)                   \cr
  6362.  
  6363.                         The remaining arguments (6 to 15) are used only for 
  6364.                         reading raw images.
  6365.  
  6366.  
  6367. \bigskip\settabs 6 \columns   
  6368. \bf
  6369. \+ \hfil   Command   &Parameter\# &Refers to        &Value    &Meaning     \cr
  6370. \rm
  6371. \+ \hfil   ----------&------&-----------      &-----    &--------    \cr     
  6372. \+ \hfil    load     & 6    & platform        & 0       & PC         \cr
  6373. \+ \hfil             &      &                 & 1       & Mac        \cr
  6374. \+ \hfil             &      &                 & 2       & IBM        \cr
  6375. \+ \hfil             & 7    & color type      & 0       & RGB color  \cr
  6376. \+ \hfil             &      &                 & 1       & grayscale/indexed color \cr
  6377. \+ \hfil             &      &                 & 2       & CMYK color \cr
  6378. \+ \hfil             & 8    & bit packing     & 0       & TIF-like   \cr
  6379. \+ \hfil             &      &                 & 1       & GIF-like   \cr
  6380. \+ \hfil             &      &                 & 2       & none       \cr
  6381. \+ \hfil             & 9    & x size in pixels&         &            \cr
  6382. \+ \hfil             & 10   & y size in pixels&         &            \cr
  6383. \+ \hfil             & 11   & No.of bytes     &         & \cr 
  6384. \+ \hfil             &      & to skip at start&         & \cr 
  6385. \+ \hfil             &      & of file         &         & \cr
  6386. \+ \hfil             & 12   & image bits/pixel&         & \cr
  6387. \+ \hfil             & 13   & red bits/pixel  &         & \cr  
  6388. \+ \hfil             & 14   & green bits/pixel&         & \cr                   
  6389. \+ \hfil             & 15   & blue bits/pixel &         & \cr
  6390. \+ \hfil             & 16   & black bits/pixel&         & \cr
  6391. \bigskip
  6392.  
  6393.  
  6394.  
  6395. \bf                             Examples: 
  6396. \tt                             load myimage.tif 100 100 1 1
  6397.                                  
  6398. \rm                             Reads myimage.tif from disk, positions it at
  6399.                                 (100,100), at full size. 
  6400.                                  
  6401. \tt                                           load *.gif
  6402.  
  6403. \rm                             Reads all .GIF files from disk. Since no
  6404.                                 position or size is specified, the values
  6405.                                 set by the previous command will be used.
  6406.                                 
  6407.                                 The most recently loaded image becomes
  6408.                                 the currently-selected image for other
  6409.                                 operations.
  6410.  
  6411.  
  6412. \bf                             Example: 
  6413. \rm                              Load an image of raw bytes.
  6414.                                 
  6415. \tt                                   file\_format 9
  6416.  
  6417.                                       load raw.img 0 0 1 1 0 1 0 382 362 10 8
  6418.  
  6419.  
  6420. \rm                             The first command is necessary to override
  6421.                                 the automatic file detection, which would
  6422.                                 otherwise display a message ``Invalid file
  6423.                                 type''. 
  6424.                                 
  6425.                                 The second command loads the image at x=0,
  6426.                                 y=0, x size=100\%, y size=100\%, platform=PC,
  6427.                                 color type=indexed color, x size=382 pixels, 
  6428.                                 y size = 362 pixels, skip 10 bytes, and 
  6429.                                 interpret data as 8 bits/pixel.
  6430.  
  6431.                                 If a large number of raw byte images having
  6432.                                 identical parameters are to be read, it is
  6433.                                 easier to create a custom file type and
  6434.                                 define these values as the defaults. This
  6435.                                 will eliminate repetitive retyping of the 
  6436.                                 arguments.
  6437.                                 
  6438.                                 
  6439.  
  6440. \bigskip
  6441. \settabs 4 \columns   
  6442. \bf
  6443. \+ \hfil   Command &Parameter\# &Refers to &Value    \cr
  6444. \rm
  6445. \+ \hfil   --------&--------- &----------- &--------------------\cr     
  6446. \+ \hfil   save    &1        &filename     &                    \cr
  6447. \+ \hfil           &2        &file format  & see under ``file\_format'' for \cr
  6448. \+ \hfil           &         &             & permissible values \cr
  6449. \+ \hfil           &3        &bits/pixel   & (Any value between 1-32).\cr
  6450.  
  6451. \bigskip
  6452.  The bits/pixel be a legal value for the specified
  6453.  format otherwise it is a fatal error. If omitted,
  6454.  it uses the image's current bpp.
  6455. \bigskip
  6456.  
  6457. \bf                                Example:  
  6458.                                     
  6459. \tt                               save test.tif 0  
  6460.                                     
  6461. \rm                                Creates a TIF file named ``test.tif'' using 
  6462.                                 the currently-selected area or currently-
  6463.                                 selected image.
  6464.  
  6465.                                 If no arguments are given, the image's 
  6466.                                 original filename and format will be used. 
  6467.                                 Use `file\_format' to override the default
  6468.                                 image format. You must change the extension
  6469.                                 manually in case the file is to be read by
  6470.                                 file viewers, which may require a 
  6471.                                 specific file extension. If the image was 
  6472.                                 created within TN-Image it will not have a
  6473.                                 filename until you save it. If a macro tries
  6474.                                 to save a file without specifying a filename,
  6475.                                 a fatal error occurs, terminating the macro.
  6476.                                 
  6477.        
  6478.  
  6479. \bigskip\settabs 4 \columns   
  6480. \bf
  6481. \+ \hfil   Command    &Parameter\# &Refers to   \cr
  6482. \rm
  6483. \+ \hfil   -----------&-----&------------------------------\cr     
  6484. \+ \hfil   color,     &     &                              \cr
  6485. \+ \hfil   brightness &     &                              \cr
  6486. \+ \hfil              & 1   & change in brightness for monochrome \cr 
  6487. \+ \hfil              &     & portion of selected area if any     \cr
  6488. \+ \hfil              &     & (If the entire area is color,       \cr
  6489. \+ \hfil              &     & this parameter is ignored).         \cr
  6490. \+ \hfil              & 2   & change in red for color portion \cr
  6491. \+ \hfil              & 3   & change in green for color portion\cr
  6492. \+ \hfil              & 4   & change in blue for color portion  \cr
  6493. \+ \hfil              &     & If the entire area is monochrome, \cr
  6494. \+ \hfil              &     & parameters 2-4 are ignored.\cr
  6495. \bigskip                        
  6496.  
  6497. \bf                         Example: To increase the red in a color image by 10:
  6498.            
  6499. \tt                                 color 0 10 0 0
  6500.  
  6501. \rm                         The color, brightness, and color\_brightness commands
  6502.                            are synonymous.
  6503.  
  6504. \vfill\eject
  6505. \bigskip\settabs 4 \columns   
  6506. \bf
  6507. \+ \hfil   Command    &Parameter\# &Refers to   \cr
  6508. \rm
  6509. \+ \hfil   -----------&-----&------------------------------\cr     
  6510. \+ \hfil   contrast   & 1   & change in contrast for monochrome portion\cr
  6511. \+ \hfil              &     & if any (1 = no change)(If the entire area \cr
  6512. \+ \hfil              &     & is color, this parameter is ignored).     \cr
  6513. \+ \hfil              & 2   & change in red contrast for color portion  \cr
  6514. \+ \hfil              & 3   & change in green contrast for color portion \cr
  6515. \+ \hfil              & 4   & change in blue contrast for color portion  \cr
  6516. \+ \hfil              &     & If the entire area is monochrome, parameters\cr
  6517. \+ \hfil              &     & 2-4 are ignored. \cr
  6518. \bigskip       
  6519.                   
  6520. \bf                         Example: 
  6521.  
  6522. \rm                               To increase blue contrast in a color image
  6523.                                   by a factor of 1.5:
  6524.            
  6525. \tt                                 contrast 0 0 0 1.5
  6526.                         
  6527.  
  6528. \bigskip
  6529. \settabs 5 \columns   
  6530. \bf
  6531. \+ \hfil   Command             &Parameter\# &Refers to   \cr
  6532. \rm
  6533. \+ \hfil   --------------------&--------- &------------------------------\cr     
  6534. \+ \hfil   convert,            &          &                              \cr
  6535. \+ \hfil   change\_color\_depth&          &                              \cr
  6536. \+ \hfil                       &1         & bits/pixel to convert image  \cr
  6537. \+ \hfil                       &1         & to (must be 8, 16,24, or 32).\cr 
  6538.                              
  6539.  
  6540. \bigskip
  6541. \settabs 5 \columns   
  6542. \bf
  6543. \+ \hfil   Command        &Parameter\# &Refers to      &Value    \cr
  6544. \rm
  6545. \+ \hfil   ---------------&------ &-----------    &--------------------\cr     
  6546. \+ \hfil  change\_palette,&       &               &                    \cr  
  6547. \+ \hfil  palette         & 1     & Palette number& 1 - gray scale     \cr
  6548. \+ \hfil                  &       &               & 2 - spectrum       \cr
  6549. \+ \hfil                  &       &               & 3 - multi colors 1 \cr
  6550. \+ \hfil                  &       &               & 4 - multi colors 2 \cr
  6551. \+ \hfil                  &       &               & 5 - multi colors 3 \cr
  6552. \+ \hfil                  &       &               & 6 - RGBI           \cr
  6553. \+ \hfil                  &       &               & 7 - black to green \cr
  6554. \+ \hfil                  &       &               & 8 - zebra          \cr
  6555. \+ \hfil                  &       &               &-1 - Other (random) \cr
  6556. \+ \hfil                  &       &               & 0 - Other (e.g., inverse) \cr
  6557. \+ \hfil  pixel\_interact\_mode&  &               &                    \cr  
  6558. \+ \hfil                  & 1     &Pixel inter-   & 1 Overwrite        \cr
  6559. \+ \hfil                  & 2     & action mode   & 2 Maximum          \cr
  6560. \+ \hfil                  & 3     &               & 3 Minimum          \cr
  6561. \+ \hfil                  & 4     &               & 4 Add              \cr
  6562. \+ \hfil                  & 5     &               & 5 Subtract new - old \cr
  6563. \+ \hfil                  & 6     &               & 6 Subtract old - new \cr
  6564. \+ \hfil                  & 7     &               & 7 XOR              \cr
  6565. \+ \hfil                  & 8     &               & 8 Average          \cr
  6566. \+ \hfil                  & 9     &               & 9 Superimpose      \cr
  6567.    
  6568.            
  6569. \bigskip\settabs 4 \columns   
  6570. \bf
  6571. \+ \hfil   Command         &Refers to    \cr
  6572. \rm
  6573. \+ \hfil   --------------- &--------------------------------------\cr     
  6574. \+ \hfil   unload          &(No parameters, unloads currently selected image, \cr
  6575. \+ \hfil                   &Use 'select\_image' command to select an image.)  \cr
  6576. \+ \hfil   unload\_all     &Unloads all images. If `messages' is `on', you are \cr
  6577. \+ \hfil                   &prompted to save any image that has been modified. \cr
  6578. \+ \hfil   quit            &Quits the program and asks if you want to save \cr
  6579. \+ \hfil                   &your changes. \cr
  6580. \+ \hfil   exit            &Quits the program \it without \rm asking if you want \cr
  6581. \+ \hfil                   &to save your changes. Useful when running TN-Image \cr
  6582. \+ \hfil                   ¯os in batch mode (See ``Batch-mode processing''). \cr
  6583. \+ \hfil  loop             &Causes the macro to be repeated. Each time \cr
  6584. \+ \hfil                   &       a message box appears asking if you want to \cr
  6585. \+ \hfil                   &       repeat the macro - you must type a 'y' or 'n'. \cr
  6586.  
  6587. \bigskip\bf                                Example:     
  6588.  
  6589. \tt                                        dos pkunzip image.zip 
  6590.  
  6591.  
  6592. \bigskip\rm\settabs 5 \columns   
  6593. \bf
  6594. \+ \hfil   Command         &Parameter\# &Refers to    \cr
  6595. \rm
  6596. \+ \hfil   --------------- &--------------------------------------\cr     
  6597. \+ \hfil   goto            &1   line number in macro to execute next. \cr
  6598. \+ \hfil                   &    A jump to a lower line number causes an  \cr
  6599. \+ \hfil                   &    infinite loop. Press \it ESC \rm to stop the \cr
  6600. \+ \hfil                   &    macro. \cr
  6601. \+ \hfil   math            &1   1=activates math mode \cr
  6602. \+ \hfil                   &    0=deactivates math mode \cr
  6603. \+ \hfil                   &    Any other string=a formula \cr
  6604. \+ \hfil                   &    In math mode, all macro commands are interpreted\cr
  6605. \+ \hfil                   &    as image math formulas. If a formula is given,\cr
  6606. \+ \hfil                   &    it must start with the variable i,r,g, or b.\cr
  6607. \+ \hfil  dos              &         \cr
  6608. \+ \hfil  dos\_command     & 1-5    Execute a DOS command with up to 5 parameters\cr
  6609. \+ \hfil                   &    (not available in Unix version)\cr
  6610.                         
  6611. \bigskip
  6612. \bf
  6613. \+ \hfil   Command        &Parameter\# &Refers to      &Value    \cr
  6614. \rm
  6615. \+ \hfil   ---------------&------ &-----------    &--------------------\cr     
  6616. \+ \hfil   macro          &1 Macro file name. Control is transferred \cr
  6617. \+ \hfil                  &       & to the first line of the new macro. After \cr
  6618. \+ \hfil                  &       & the new macro is finished, the old macro \cr
  6619. \+ \hfil                  &       & continues. There is no limit on the depth \cr
  6620. \+ \hfil                  &       & of nested macros except as imposed by \cr
  6621. \+ \hfil                  &       & available memory. Do not create recursive \cr
  6622. \+ \hfil                  &       & macros (macros which call themselves  \cr
  6623. \+ \hfil                  &       & directly or indirectly). \cr
  6624. \+ \hfil  messages        & 1     & Disables messages, including all requests \cr
  6625. \+ \hfil                  &       & for confirmation and requests for filenames.  \cr
  6626. \+ \hfil                  &       & Messages are automatically re-enabled after  \cr
  6627. \+ \hfil                  &       & the macro ends. Useful in batch mode. Turning  \cr
  6628. \+ \hfil                  &       & messages off is dangerous and should only be  \cr
  6629. \+ \hfil                  &       & used in fully-debugged macros. If messages \cr
  6630. \+ \hfil                  &       & are turned off, a macro could overwrite  \cr
  6631. \+ \hfil                  &       & files, unload images, create a file in a  \cr
  6632. \+ \hfil                  &       & non-standard format, or exit to DOS without  \cr
  6633. \+ \hfil                  &       & asking for confirmation. \cr
  6634. \+ \hfil                  &       &               & 0  Messages off \cr
  6635. \+ \hfil                  &       &               & 1  Messages on \cr
  6636.  
  6637.  
  6638. \bigskip\bf                                Example:  
  6639. \tt                                                  messages 0
  6640. \rm
  6641.  
  6642. \bf                                              
  6643. \+ \hfil   Command        &Parameter\# &Refers to      &Value    \cr
  6644. \rm
  6645. \+ \hfil   ---------------&-------&-----------    &--------------------\cr     
  6646. \+ \hfil   fft            & 1     &Direction      &1  Forward  \cr
  6647. \+ \hfil                  &       &               &2  Reverse  \cr
  6648. \+ \hfil                  &       &               &3  Convolute 2 images  \cr
  6649. \+ \hfil                  &       &               &4  Deconvolute 2 images  \cr
  6650. \+ \hfil                  &       &               &5  Change display only  \cr
  6651. \+ \hfil                  &2      &Display        &1  Real  \cr
  6652. \+ \hfil                  &       &               &2  Imaginary  \cr
  6653. \+ \hfil                  &       &               &3  Power spectrum  \cr
  6654. \+ \hfil                  &3      &Image \#1 (may be left blank for FFT of&  \cr
  6655. \+ \hfil                  &       ¤tly-selected image)&  \cr
  6656. \+ \hfil                  &4      &Image \#2 (required for deconvoluton)&  \cr
  6657.  
  6658. \bigskip\bf                                Examples: 
  6659.  
  6660. \tt                                          fft 1 1 \rm    (forward fft)
  6661.  
  6662. \tt                                          fft 4 1 7 8   \rm (deconvolute images
  6663.                                                           7 and 8)
  6664.  
  6665.  
  6666. \bigskip
  6667. \bf                                               
  6668. \+ \hfil   Command        &Parameter\# &Refers to      &Value    \cr
  6669. \rm
  6670. \+ \hfil   ---------------&-------&-----------    &--------------------\cr     
  6671. \+ \hfil   file\_format   & 1     & Sets the default file format for loading \cr
  6672. \+ \hfil                  &       &and saving images.    \cr
  6673. \+ \hfil                  &       & &  -1  (automatically detect) \cr
  6674. \+ \hfil                  &       & &   0  NONE \cr
  6675. \+ \hfil                  &       & &   1  TIF \cr
  6676. \+ \hfil                  &       & &   2  PCX \cr
  6677. \+ \hfil                  &       & &   3  IMA \cr
  6678. \+ \hfil                  &       & &   4  IMG (Frame grabber) \cr
  6679. \+ \hfil                  &       & &   5  GIF (GIF87a) \cr
  6680. \+ \hfil                  &       & &   6  IMM \cr
  6681. \+ \hfil                  &       & &   7  GEM \cr
  6682. \+ \hfil                  &       & &   8  IMDS \cr
  6683. \+ \hfil                  &       & &   9  RAW \cr
  6684. \+ \hfil                  &       & &  11 JPG \cr
  6685. \+ \hfil                  &       & &  12 TARGA (Targa RLE) \cr
  6686. \+ \hfil                  &       & &  16 BMP (Windows bitmap) \cr
  6687. \+ \hfil                  &       & &  23 ASCII \cr
  6688. \+ \hfil                  &       & & 100 first custom format \cr
  6689. \+ \hfil                  &       & & 101 2nd custom format \cr
  6690. \+ \hfil                  &       & &   ...etc. \cr
  6691. \+ \hfil                  &       & & This will supercede the image's existing \cr
  6692. \+ \hfil                  &       & & default file format for the duration of \cr
  6693. \+ \hfil                  &       & & the macro. \cr
  6694.                                 
  6695. \bigskip\bf                                Example:
  6696.  
  6697. \tt                                        file\_format 5
  6698.  
  6699. \rm                                            = sets default format to GIF
  6700.  
  6701. \bigskip
  6702. \bf                                               
  6703. \+ \hfil   Command        &Parameter\# &Refers to      &Value    \cr
  6704. \rm
  6705. \+ \hfil   ---------------&-------&-----------    &--------------------\cr     
  6706. \+ \hfil   create\_image  &\cr
  6707. \+ \hfil   resize\_image  & \cr
  6708. \+ \hfil                  &1      & Method for obtaining image coordinates. \cr
  6709. \+ \hfil                  &       &               &1 Use mouse \cr
  6710. \+ \hfil                  &       &               &2 Use specified coordinates \cr
  6711. \+ \hfil                  &       &               &3 Copy another image \cr
  6712. \+ \hfil                  &       &               &4 Resize another image using \cr
  6713. \+ \hfil                  &       &               &  specified coordinates \cr
  6714. \+ \hfil                  &2      &Border         &0 No border  \cr
  6715. \+ \hfil                  &       &               &1 Add border  \cr
  6716. \+ \hfil                  &3      &x size (in pixel units) \cr
  6717. \+ \hfil                  &4      &y size (in pixel units) \cr
  6718. \+ \hfil                  &5      &x position (0,0 = upper left) \cr
  6719. \+ \hfil                  &6      &y position (0,0 = upper left) \cr
  6720. \+ \hfil                  &7      &No. of image to copy. Remember that the image \cr
  6721. \+ \hfil                  &       &number changes unpredictably if an image \cr
  6722. \+ \hfil                  &       &is unloaded. If the image no. does not exist, \cr
  6723. \+ \hfil                  &       &it is an error. \cr
  6724.  
  6725.  
  6726. \bigskip
  6727. \settabs 4 \columns
  6728. \bf      
  6729. \+ \hfil   Command          &Parameter\# &Refers to                \cr
  6730. \rm
  6731. \+ \hfil   --------------   &----------- &-----------              \cr
  6732. \+ \hfil   windows          & 1          &0=images are placed on main window \cr
  6733. \+ \hfil                    &            &1=images are placed in separate windows \cr
  6734.  
  6735.  
  6736. \bigskip
  6737. \settabs 4 \columns
  6738. \bf      
  6739. \+ \hfil   Command          &Parameter\# &Refers to                \cr
  6740. \rm
  6741. \+ \hfil   --------------   &----------- &-----------              \cr
  6742. \+ \hfil   windowborder     & 1          &0=minimal border  \cr
  6743. \+ \hfil                    &            &1=images are given a full border \cr
  6744.  
  6745.         If windowborder is 0, images are given a minimal border and
  6746.         positioned according to the coordinates specified as ``x position''
  6747.         and ``y position'' in the ``load'' command. If windowborder is 1,
  6748.         images are positioned interactively and are given a title bar. 
  6749.         This parameter only has an effect when windows=1. The actual
  6750.         behavior depends on the window manager.
  6751.  
  6752.  
  6753.  
  6754.  
  6755.  
  6756. \vfill\eject
  6757. \bigskip\hrule\bigskip
  6758. \bbb {  8.3.12.2   Macro Programming Guide }
  6759. \bigskip
  6760. \hrule\bigskip
  6761. \rm
  6762.  
  6763.            Here is a brief tutorial on some of the finer points on creating
  6764.            useful macros. In general a macro should reset the program to its
  6765.            original state.  If a macro does something different the second
  6766.            time it is executed, the cause is almost always a failure to reset
  6767.            the original conditions.  In a real macro, you should also always 
  6768.            execute  ``select\_image'' or ``load'' first to make sure the operation
  6769.            is performed on the correct image. 
  6770.  
  6771.  
  6772. \bigskip
  6773. \proclaim  Example macro \#1. Nested macros
  6774.  
  6775.              Macro ``beep.mac''
  6776.  
  6777.              Line \#    Command  
  6778.  
  6779.              ------    --------   
  6780. \item{}       1 \hskip 0.3 in \tt     beep  \rm   
  6781. \item{}       2 \hskip 0.3 in \tt     beep  \rm   
  6782. \item{}       3 \hskip 0.3 in \tt     beep  \rm    
  6783.  
  6784. \medskip
  6785. \bf         Note: \rm the words ``Line \#'' and ``Command''     
  6786.             and the numbers 1,2, and 3 are not part
  6787.             of the macro. In this example, the macro 
  6788.             would consist of only 3 words (``beep''), 
  6789.             one on each line.
  6790.  
  6791. \medskip
  6792.              Macro ``test.mac''
  6793.  
  6794.              Line \#    Command   
  6795.      
  6796.              ------    --------
  6797.  
  6798. \item{}        1 \hskip 0.3 in  \tt    macro beep.mac \rm
  6799. \item{}        2 \hskip 0.3 in  \tt    beep           \rm
  6800.  
  6801. \medskip
  6802.              Executing ``test.mac'' should cause a total of 4 beeps.
  6803.              A macro must never call itself - this would cause a system hang
  6804.              (at least in DOS).
  6805. \medskip
  6806.            
  6807.            
  6808. \bigskip           
  6809. \proclaim   Example macro \#2. Converting GIF image to TIF format interactively
  6810.  
  6811.              Line \#    Command        
  6812.  
  6813.              ------    --------
  6814.  
  6815. \item{}        1 \hskip 0.3 in  \tt    load ?Filename \rm
  6816. \item{}        2 \hskip 0.3 in  \tt    messages 0     \rm
  6817. \item{}        3 \hskip 0.3 in  \tt    file\_format 0 \rm
  6818. \item{}        4 \hskip 0.3 in  \tt    save           \rm
  6819. \item{}        5 \hskip 0.3 in  \tt    messages 1     \rm
  6820. \item{}        6 \hskip 0.3 in  \tt    loop           \rm
  6821.            
  6822. \medskip
  6823. \it          Line 1 \rm - Prompts you for a filename each time (because of the
  6824.              question mark).
  6825.              
  6826. \it          Line 2 \rm - Resets default file format to 0 (TIF). If this line is
  6827.              omitted, the file format would default to the original format 
  6828.              of each image.
  6829.              
  6830. \it          Line 4 \rm - Saves the image in TIF format. Don't forget to rename
  6831.              the file extension to TIF later. You could also use:
  6832. \item{}  \tt          save ?Filename\_to\_save\_as ?Format
  6833.  
  6834. \rm          which would ask you for both the filename and the format 
  6835.              each time.          
  6836.                        
  6837. \it          Line 5 \rm - Resume error messages \rm 
  6838.              
  6839. \it          Line 6 \rm - Unconditional loop back to line 1. Press \it ESC \rm to stop.
  6840.  
  6841.  
  6842.  
  6843.  
  6844. \bigskip
  6845. \proclaim   Example macro \#3. Converting GIF image to TIF format in batch mode
  6846.  
  6847.              Line \#    Command  
  6848.       
  6849.              ------    --------
  6850.  
  6851. \item{}        1 \hskip 0.3 in  \tt    messages 0     \rm
  6852. \item{}        2 \hskip 0.3 in  \tt    load *.gif     \rm
  6853. \item{}        3 \hskip 0.3 in  \tt    file\_format 0  \rm
  6854. \item{}        4 \hskip 0.3 in  \tt    save           \rm
  6855. \medskip
  6856.  
  6857.              This macro could be executed at 3 a.m. by setting the following
  6858.              timed events in \tt tnshell \rm  or other command scheduler:
  6859.  
  6860. \item{}        Event 1: \tt  cd c:$\backslash$ tnimage  \rm 3:00am
  6861. \item{}        Event 2: \tt  tnimage -macro convert.mac \rm 3:01am
  6862. \item{}        Event 3: \tt  ren *.gif *.tif            \rm 4:00am
  6863. \item{}        Event 4: \tt  cd c:$\backslash$          \rm 4:01am
  6864. \medskip
  6865.              Event 3 could also be replaced by a new line in the macro:
  6866.  
  6867. \tt                      dos ren *.gif *.tif
  6868. \rm
  6869.  
  6870.              Make sure there is enough free disk space before starting this
  6871.              macro.
  6872.  
  6873. \bigskip
  6874. \proclaim    Example macro \#4. Subtracting two images
  6875. \medskip
  6876.  
  6877.              Line \#    Command        
  6878.  
  6879.              ------    --------
  6880.  
  6881. \item{}         1 \hskip 0.3 in \tt     pixel\_interact\_mode 1   \rm
  6882. \item{}         2 \hskip 0.3 in \tt     load cells.tif 0 0 1 1  \rm
  6883. \item{}         3 \hskip 0.3 in \tt     pixel\_interact\_mode 5   \rm
  6884. \item{}         4 \hskip 0.3 in \tt     load cells.tif 1 1 1 1  \rm
  6885. \item{}         5 \hskip 0.3 in \tt     pixel\_interact\_mode 1   \rm
  6886. \item{}         6 \hskip 0.3 in \tt     contrast 1.85           \rm
  6887. \medskip
  6888.  
  6889.              This macro loads an image, then subtracts the same image
  6890.              after offsetting it by (1,1), then increases the contrast. 
  6891.              All 6 lines are essential for a good macro. 
  6892.  
  6893. \it          Line 1: \rm The pixel interaction mode is set to 1 (overwrite) 
  6894.              in case a previous operation changed it.
  6895.             
  6896. \it          Line 2: \rm  All 4 parameters (x offset, y offset, x size, and y 
  6897.              size) must be given. Otherwise, if the macro was executed again,
  6898.              the default parameters would be { 1,1,1,1 } because of line 4.
  6899.              This would cause the image to be placed at (1,1) and then
  6900.              subtracted from itself, giving solid black.
  6901.              
  6902. \it          Line 3: \rm The pixel interaction mode is set to 5 (subtract).
  6903.              It is usually helpful to change the screen background color to
  6904.              0 (black) before doing this.
  6905.              
  6906. \it          Line 4: \rm Load the image to subtract.
  6907.            
  6908. \it          Line 5: \rm Reset the pixel interaction mode to overwrite.
  6909.              
  6910. \it          Line 6: \rm Increase the contrast by a factor of 1.85.
  6911.  
  6912. \medskip           
  6913.            Be careful using ``DOS command'' in combination with ``messages 0''.
  6914.            If there is insufficient low DOS memory to execute the command,
  6915.            ``messages 0'' may cause you to miss the fact that the command
  6916.            was not executed.
  6917.            
  6918.  
  6919. \bigskip
  6920. \proclaim    Example macro \#5. Multiple image math formulas
  6921. \medskip
  6922.  
  6923.              Line \#    Command   
  6924.      
  6925.              ------    --------
  6926.  
  6927. \item{}        1 \hskip 0.3 in  \tt    selectregion 50 50 100 100  \rm
  6928. \item{}        2 \hskip 0.3 in  \tt    math 1                      \rm
  6929. \item{}        3 \hskip 0.3 in  \tt    i=i+5                       \rm
  6930. \item{}        4 \hskip 0.3 in  \tt    i=i+image[2][0][x][y]       \rm
  6931. \item{}        5 \hskip 0.3 in  \tt    r=r*1.23                    \rm
  6932. \item{}        6 \hskip 0.3 in  \tt    math 0                      \rm
  6933. \item{}        7 \hskip 0.3 in  \tt    math i=i-5                  \rm
  6934.  
  6935.  
  6936. \medskip
  6937. \it          Line 1: \rm Select a region to modify. If this line is omitted,
  6938.              it would modify the entire image.
  6939.  
  6940. \it          Line 2: \rm Start math mode. Lines between ``math 1'' and ``math 0''
  6941.              do not need to begin with ``math''.
  6942.  
  6943. \it          Line 3: \rm Lighten the image by 5 intensity units.
  6944.  
  6945. \it          Line 4: \rm Add the corresponding region from image \#2.
  6946.  
  6947. \it          Line 5: \rm Increase the red contrast by 1.23 fold.
  6948.  
  6949. \it          Line 6: \rm End math mode.
  6950.  
  6951. \it          Line 7: \rm Subtract 5 intensity units from the selected region.
  6952.              Since math mode is turned off by line 6, the formula must be preceded 
  6953.              by the word ``math''.
  6954.  
  6955.  
  6956. \medskip
  6957. \vfill\eject
  6958.  
  6959.  
  6960.  
  6961.  
  6962. \bigskip\hrule\bigskip
  6963. \bbc { 8.4.0   Color menu   }
  6964. \bigskip
  6965. \hrule\bigskip
  6966. \rm
  6967.  
  6968.    Colormaps are only needed for indexed-color (8-bit/pixel) images.
  6969.    If an 8-bit (256-color) image which lacks a colormap of its own 
  6970.    is loaded and converted to color, the most recently-selected 
  6971.    colormap will be used to perform the conversion. 
  6972.  
  6973.  
  6974. \bigskip\hrule\bigskip
  6975. \bbb { 8.4.1   Invert colormap   }
  6976. \bigskip
  6977. \hrule\bigskip
  6978. \rm
  6979.  
  6980.  
  6981.         Switches the colormap so that all images become a negative.
  6982.         Changes the appearance only, and has no effect on the actual
  6983.         pixel values in the image.
  6984.  
  6985.  
  6986. \bigskip\hrule\bigskip
  6987. \bbb { 8.4.2   Color intensity / brightness   }
  6988. \bigskip
  6989. \hrule\bigskip
  6990. \rm
  6991.  
  6992.  
  6993.         There are 3 ways to change the brightness: you can drag the 
  6994.         colormap palette bar to change the color LUT, or you can select 
  6995.         ``Color intensity'' or ``Change pixel values'' from the menu.
  6996.  
  6997.  
  6998. \bigskip\hrule\bigskip
  6999. \bba { 8.4.2.1 Changing brightness using the colormap palette bar  }
  7000. \bigskip
  7001. \hrule\bigskip
  7002. \rm
  7003.  
  7004.         This method is very fast, but only works on images that have a
  7005.         continuous colormap, and only in 8-bit/pixel screen modes.
  7006.         Files with a discontinuous colormap should be adjusted using the
  7007.         ``Color intensity'' menu option instead of the colormap palette bar.
  7008.  
  7009.         Click on the top part of the bar and drag down to ``squash'' the
  7010.         colors downward, or click on the bottom part of the bar and drag
  7011.         up to squash the colors upward. This increases the contrast in
  7012.         all images of the screen.
  7013.         
  7014.         Then, click in the middle of the bar and drag up or down to adjust
  7015.         the brightness as desired. The currently-selected image will be
  7016.         set to contain the new colormap.
  7017.         
  7018.         If you change the colormap from the menu, or select ``restore original
  7019.         colormap'', the brightness and contrast settings return to normal.
  7020.  
  7021.  
  7022. \bigskip\hrule\bigskip
  7023. \bba { 8.4.2.2 Changing brightness and color using the menus   }
  7024. \bigskip
  7025. \hrule\bigskip
  7026. \rm
  7027.  
  7028.         This method is also fast, and allows you to change the red, green,
  7029.         blue, and intensity values independently. The action is different
  7030.         depending on the screen mode.
  7031.  
  7032.         For 8 bit/pixel modes, the colormap (palette) of the image is 
  7033.         changed. The pixel values in the original image is unaffected. 
  7034.         It is not possible to change the color of only part of the image
  7035.         with this method. To change only a portion of the image, you must 
  7036.         either use ``Change pixel value'' or convert the image to 
  7037.         24 bits/pixel first.
  7038.         
  7039.         The clickbox that is presented will depend on whether TN-Image
  7040.         thinks the image is mono\-chrome or color.  This information can be
  7041.         found by selecting ``About...About the Image''. Any image can be
  7042.         converted to monochrome or color by selecting ``Color...Color to
  7043.         Gray scale'' or ``Color...Gray scale to Color'' from the main
  7044.         menu, respectively. If TN-Image thinks the image is gray scale,
  7045.         only one slider (Brightness) will be presented. Otherwise, four
  7046.         sliders will be presented, permitting independent adjustment of 
  7047.         red, green, blue, and brightness. 
  7048.         
  7049.         In true-color screen modes, the action is the same as ``Change
  7050.         pixel value'' (see below).  A value is added or subtracted for the 
  7051.         red, green, and blue components of the currently-selected image or
  7052.         screen  region, making it darker or lighter or altering its color 
  7053.         balance. The original colors can be restored by selecting 
  7054.         ``Image..Restore''.
  7055.  
  7056.  
  7057. \vfill\eject
  7058. \bigskip\hrule\bigskip
  7059. \bbb { 8.4.3   Contrast   }
  7060. \bigskip
  7061. \hrule\bigskip
  7062. \rm
  7063.  
  7064.  
  7065.         There are also two ways to change the contrast: you can drag the 
  7066.         colormap palette bar to change the color LUT, or you can select ``Contrast'' 
  7067.         from the menu.
  7068.         
  7069.         Changing the LUT is much faster, but only works in 8-bit 
  7070.         (indexed color) screen modes, and it always changes the entire screen.
  7071.         Selecting ``Contrast'' from the menu works in all screen modes, and
  7072.         can be used to change contrast in selected regions of an image.
  7073.  
  7074.  
  7075. \bigskip\hrule\bigskip
  7076. \bba { 8.4.3.1 Changing contrast using the colormap palette bar  }
  7077. \bigskip
  7078. \hrule\bigskip
  7079. \rm
  7080.  
  7081.        Click on the top part of the bar and drag down to ``squash'' the
  7082.         colors downward, or click on the bottom part of the bar and drag
  7083.         up to squash the colors upward. This increases the contrast in
  7084.         all images of the screen.
  7085.         
  7086.         Then, click in the middle of the bar and drag up or down to adjust
  7087.         the brightness as desired. The currently-selected image will be
  7088.         set to contain the new colormap.
  7089.         
  7090.         If you change the colormap from the menu, the brightness and contrast
  7091.         settings return to normal.
  7092.  
  7093.  
  7094. \bigskip\hrule\bigskip
  7095. \bba { 8.4.3.2 Changing contrast using the menus  }
  7096. \bigskip
  7097. \hrule\bigskip
  7098.  
  7099. \it        For 8 bit/pixel images:
  7100.  
  7101. \rm        Multiplies all pixels in the currently-selected image or screen 
  7102.         region by a value (100=no change), increasing the contrast. 
  7103.         Note that if the contrast or brightness is increased or decreased
  7104.         too much, information will be lost from the image due to saturation.
  7105.  
  7106. \medskip\bf     NOTE***WARNING
  7107.  
  7108.         When using 8  bit/pixel  modes,  adjusting  the  contrast,  or 
  7109.         making  the  image  lighter  or  darker,  may  invalidate  the 
  7110.         correspondence  between  pixel values and the original optical 
  7111.         density in the image. This will occur if the  O.D.  table  for 
  7112.         the  image  is  non-linear  and densitometry  is done with `pixel 
  7113.         correction' set to `on'. The  numerical  results  obtained  by 
  7114.         scanning   under  those  conditions  could  be  scientifically
  7115.         invalid.                                                       
  7116.                                                                        
  7117.         If you plan to quantitatively analyze your image after altering
  7118.         its contrast or brightness, first check that the O.D. table for
  7119.         the image is a straight line (Select `Configure...Show O.D.    
  7120.         table'). Alternatively, set `pixel compensation' to `off'      
  7121.         before any quantitative analysis.                              
  7122.                                                                       
  7123.         This does not apply to changes made by dragging the    
  7124.         colormap bar.                                                   
  7125. \rm \medskip
  7126.  
  7127. \it        For color images:
  7128.  
  7129. \rm     Multiplies the r,g, and b components  of  all  pixels  in  the
  7130.         currently-selected  image  or screen region by separate values
  7131.         (100=no change), increasing the contrast. 
  7132.         
  7133.         If the selected region has both color and monochrome pixels,
  7134.         you can select independent contrast factors for the monochrome
  7135.         intensity and the red, green, and blue components of the color
  7136.         region.
  7137.   
  7138.  
  7139. \vfill\eject
  7140. \bigskip\hrule\bigskip
  7141. \bbb { 8.4.4   Change colormap  }
  7142. \bigskip
  7143. \hrule\bigskip
  7144. \rm
  7145.  
  7146.  
  7147.         In 8-bit/pixel modes, each pixel value is translated through a
  7148.         ``colormap'', a look-up table which you can easily modify in TN-Image. 
  7149.         The new table is saved along with the image (for TIF,BMP,and TGA
  7150.         files) so the next time you load the image, the display changes 
  7151.         to the modified colormap. Changing the colormap has two advantages
  7152.         over other methods of changing brightness or color: (1) it is
  7153.         much faster, and (2) it is always reversible since it never 
  7154.         affects the original image data. The disadvantages are that 
  7155.         changing the colormap only works in indexed color screen modes, 
  7156.         and it always changes the entire screen. If you need to brighten 
  7157.         just a portion of the screen, use the ``color intensity/brightness'' 
  7158.         menu option.
  7159.     
  7160.         In color modes, the current colormap table is used as a guide
  7161.         to determine how an monochrome image is converted to color when 
  7162.         it is loaded from disk, but does not otherwise affect the display.
  7163.  
  7164.  
  7165.  
  7166. \bigskip\hrule\bigskip
  7167. \bba { 8.4.4.1 Select colormap  }
  7168. \bigskip
  7169. \hrule\bigskip
  7170. \rm
  7171.  
  7172.  
  7173.         You can select from a variety  of  different  color  colormaps.
  7174.         Changing  the  colormap  has  no effect on the image when it is
  7175.         stored or densitometrically  analyzed. However, it can be used 
  7176.         to enhance the visibility of details in the image. Each image
  7177.         can have a different colormap.
  7178. \bigskip  
  7179.        
  7180.         The following pre-set colormaps are available: 
  7181.  
  7182. \it     Gray scale \rm    - continuous shading of 256 levels of gray. 
  7183.  
  7184. \it        Multi-color 1 \rm - a  continuous  blend  of  colors useful for
  7185.                          enhancing low-contrast images.
  7186.  
  7187. \it        Multi-color 2 \rm  - a  discontinuous  sequence  of  short  color
  7188.                          gradients 
  7189.  
  7190. \it        Multi-color 3   \rm - a discontinuous sequence of color gradients
  7191.                          arranged oppositely from multi-color 2.
  7192.  
  7193. \it        RGBI      \rm     - 4 continuous gradients, 0-63=red, 64-127=green,
  7194.                          128-192=blue and 193-255=gray scale.
  7195.  
  7196. \it        Spectrum  \rm     - A single continuous gradient from blue through the
  7197.                          colors of the spectrum to red and then white.
  7198.  
  7199. \it        Black to green \rm - Same as gray scale except black to green
  7200.                          instead of black to white.
  7201.  
  7202. \it        Zebra     \rm     - Alternating black and white - useful for finding  
  7203.                          very subtle patterns in the image.  Creates a
  7204.                          contour-line effect.
  7205.  
  7206. \it        Brightness \rm    - Lightens or darkens colormap, increasing or
  7207.                          decreasing color saturation.
  7208.  
  7209. \it        Other \rm  - User-selected colormap. Select the desired number with
  7210.                           the mouse to select from  a  wide  range  of
  7211.                           different computer-generated colormaps. 
  7212.                           
  7213. \hskip 0.5 in  \it             1-100  \rm   = Various gray scales  
  7214.  
  7215. \hskip 0.5 in  \it          101-1000  \rm = randomly-generated gradients. The 
  7216.                                       amount of color gradually increases  
  7217.                                       in intervals of 100.    
  7218.  
  7219. \hskip 0.5 in  \it        1000-10000 \rm = continuous, smooth  gradients without  
  7220.                                       sharp breaks in the colors.  The number
  7221.                                       of light and dark cycles varies from 
  7222.                                       1 upwards.  Some are a single color,  
  7223.                                       others  are  gray scales, and others
  7224.                                       are multiple colors. 
  7225.  
  7226. \bf                          Example: \rm 2345 = shades of `gold'
  7227.  
  7228.  
  7229.  
  7230.  
  7231. \bigskip\hrule\bigskip
  7232. \bba {  8.4.4.2 Grayscale intensity mapping }
  7233. \bigskip
  7234. \hrule\bigskip
  7235. \rm
  7236.  
  7237.  
  7238.         Grayscale images of greater than 8 bits/pixel often contain subtle
  7239.         details which would not ordinarily be visible. This option permits
  7240.         interactively changing the way the pixels are mapped to the screen,
  7241.         creating, in effect, a ``sliding scale''. 
  7242.         
  7243.         This sliding scale uses 4 parameters: the maximum and minimum 
  7244.         values in the image to display, and the maximum and minimum
  7245.         values on the screen to which these are mapped (these latter 2
  7246.         do not normally need to be changed). When a monochrome
  7247.         image is first loaded, TN-Image automatically determines the
  7248.         maximum and minimum values in the image to allow the entire image
  7249.         to be viewed. By selecting ``Grayscale brightness'', you can use the
  7250.         mouse to select the actual range of values to be displayed. 
  7251.         
  7252.         For example, if the image has 12 bits of grayscale depth, it will
  7253.         be possible to set the maximum and minimum to any number between 0 
  7254.         and 4096. Setting the numbers close together enhances the contrast
  7255.         in that intensity range. Similarly, making the numbers small 
  7256.         enhances the contrast in the darker areas of the image. To make
  7257.         the change visible, click on ``Preview''.
  7258.         
  7259.         The maximum can also be lower than the minimum, creating an 
  7260.         inverse image. Each image on the screen can have a different 
  7261.         brightness/contrast level. 
  7262.          
  7263.         Note: Color images must be converted to monochrome before this
  7264.         feature can be used.
  7265.  
  7266.  
  7267.  
  7268. \bigskip\hrule\bigskip
  7269. \bba { 8.4.4.3  Read colormap  }
  7270. \bigskip
  7271. \hrule\bigskip
  7272. \rm
  7273.  
  7274.    
  7275.         Reads a colormap file from disk. Colormap files are ASCII text
  7276.         files which can be created with a text editor, or created
  7277.         graphically within TN-Image (see \it Create colormap \rm ).
  7278.  
  7279.         If you create a colormap file manually, your colormap file
  7280.         should consist of 4 columns of up to 256 rows. The first
  7281.         column is the color number or `index', an integer between 0
  7282.         and 255, indicating which color.  The other 3 columns  are
  7283.         integers between 0 and 63, which define the amount of red,
  7284.         green, and blue respectively for each color. For example:
  7285. \medskip\tt
  7286.            
  7287. \item{}        0    0    0   63    
  7288. \item{}        1   63   63   63    
  7289. \item{}      255    7    7    7    
  7290.      
  7291.  
  7292. \medskip\rm   This file would set color 0 to light blue, color 1 to bright
  7293.         white,  and  color 255 to dark gray. All other colors would be
  7294.         unchanged (Normally, a colormap file would have 255 rows
  7295.         instead of only 3).
  7296.  
  7297.  
  7298. \bigskip\hrule\bigskip
  7299. \bba { 8.4.4.4 Save colormap   }
  7300. \bigskip
  7301. \hrule\bigskip
  7302. \rm
  7303.         Saves the current colormap into a disk file.
  7304.  
  7305.  
  7306. \bigskip\hrule\bigskip
  7307. \bba { 8.4.4.5 Create colormap  }
  7308. \bigskip
  7309. \hrule\bigskip
  7310. \rm
  7311.  
  7312.                       
  7313.         Allows you to graphically create a custom colormap. There are 3
  7314.         boxes,  one  for  red,  green,  and  blue,  which  graphically
  7315.         represent  the  red, green, and blue intensities of each color
  7316.         in the colormap. To change the  colormap,  click  on  the  graph
  7317.         corresponding  to  the desired color and trace out the desired
  7318.         new graph while holding the left mouse button down. The  graph
  7319.         and  colormap will both adjust in real time to reflect the new
  7320.         values.
  7321.         
  7322.         Clicking `smooth' causes the computer to automatically  smooth
  7323.         out  the  newly-drawn curve to create a more even dispersal of
  7324.         colors in your colormap. When you are satisfied  with  the  new
  7325.         colormap, click on ``OK''.
  7326.    
  7327.  
  7328.  
  7329. \bigskip\hrule\bigskip
  7330. \bba { 8.4.4.6 Invert colormap  }
  7331. \bigskip
  7332. \hrule\bigskip
  7333. \rm
  7334.  
  7335.         Inverts the color look-up table so the image appears as a 
  7336.         negative. This differs from ``invert colors'' in that inverting
  7337.         the colormap has no effect on the actual image data. The two
  7338.         extreme colors (black and white) are not switched.
  7339.  
  7340.  
  7341.  
  7342. \bigskip\hrule\bigskip
  7343. \bba { 8.4.4.7 Rotate colormap  }
  7344. \bigskip
  7345. \hrule\bigskip
  7346. \rm
  7347.  
  7348.         Rotates the colormap table through all 255 colors. This effectively  
  7349.         increases the number of predefined colormaps to 2.5 million. Useful 
  7350.         in achieving fine control of the appearance of the image and 
  7351.         enhancing subtle details.
  7352.  
  7353.         If  you find a number that gives a useful effect, write the number 
  7354.         down for future reference or save it using ``Save colormap''. The actual 
  7355.         pattern of colors in the colormap is not easily predictable from the 
  7356.         color number. (Saving the currently-displayed screen or a portion 
  7357.         of it as a TIF or PCX file, or selecting `Save colormap' will also 
  7358.         save the colormap.)
  7359.  
  7360.  
  7361. \bigskip\hrule\bigskip
  7362. \bba { 8.4.4.8 Restore original colormap  }
  7363. \bigskip
  7364. \hrule\bigskip
  7365. \rm
  7366.  
  7367.         Restores the colormap the image had when it was originally loaded
  7368.         from disk. Useful when you accidentally rotate the colormap of
  7369.         a GIF file.
  7370.  
  7371.  
  7372. \bigskip\hrule\bigskip
  7373. \bba { 8.4.4.9  Sort colormap  }
  7374. \bigskip
  7375. \hrule\bigskip
  7376. \rm
  7377.  
  7378.         Sorts the colormap from lowest to highest luminosity and remaps the image
  7379.         accordingly. This is often an essential step before performing densitometry
  7380.         on an image, or before setting chroma-key for an image, as these functions 
  7381.         rely on a correspondence between the raw pixel value and intensity.
  7382.  
  7383.  
  7384. \vfill\eject
  7385. \bigskip\hrule\bigskip
  7386. \bbb { 8.4.5   Remap colors   }
  7387. \bigskip
  7388. \hrule\bigskip
  7389. \rm
  7390.  
  7391.         Changes the colors in an image by substituting
  7392.         from a map file. It acts differently on indexed color and color images.
  7393.         
  7394. \medskip\it        8-bit/pixel images:
  7395.  
  7396. \medskip\rm        Changes the pixels in the image or screen region by substituting 
  7397.         from a set of values specified in an ASCII file. This file should 
  7398.         consist of a list of 2 columns of numbers.  The 1st column is the 
  7399.         pixel value to change, the 2nd column should be the desired new 
  7400.         values. For example:
  7401.  
  7402. \tt\medskip
  7403. \item{}              1         255
  7404. \item{}              2         200
  7405. \item{}              3         180
  7406. \item{}              4         175
  7407. \item{}            255           0  
  7408. \rm\medskip
  7409.  
  7410.         This  file would change all pixels with a value of 1 to pixels
  7411.         with a value of 255, those with values of 2 to 200, 3 to  180,
  7412.         4  to 175, and 255 to 0. Any other pixels would be unaffected.
  7413.         Typically in a remap file, you would remap all 255 colors, but
  7414.         this is not essential.  Be  sure  colors  0  and  255  do  not
  7415.         accidentally get remapped to the same value, otherwise it will
  7416.         be impossible to use the menus (this applies only to DOS version).
  7417.  
  7418.         The most common use of this is to reduce the number of separate
  7419.         intensity values in an image, by eliminating those values in regions
  7420.         that are not of interest. This can greatly improve the 
  7421.         compressibility of an image.
  7422.         
  7423.         Another use is to stretch the contrast. Since the new intensity
  7424.         values can be known in advance, contrast enhancement can be done
  7425.         on multiple images in an exactly reproducible manner.
  7426.  
  7427.         The Macro Editor can be used to create remap files without leaving TN-Image.
  7428.         
  7429. \medskip\it        Color images:
  7430.         
  7431. \rm     Interchanges r,g, and b color values. This could be used, for
  7432.         example, to convert an image to a single color or to correct  
  7433.         for color errors in a corrupted image file.
  7434.  
  7435.  
  7436. \vfill\eject
  7437. \bigskip\hrule\bigskip
  7438. \bbb { 8.4.6   Invert colors   }
  7439. \bigskip
  7440. \hrule\bigskip
  7441. \rm
  7442.  
  7443.         
  7444.         Changes  the  image into a negative. This differs from ``invert
  7445.         colormap'' in that the pixel values themselves are changed.
  7446.  
  7447.  
  7448. \bigskip\hrule\bigskip
  7449. \bbb { 8.4.7   Change color depth  }
  7450. \bigskip
  7451. \hrule\bigskip
  7452. \rm
  7453.  
  7454.  
  7455.         Converts the selected image to a different number of bits per
  7456.         pixel. This option only works on entire images. When working
  7457.         with indexed-color images, it is advisable to use this option to 
  7458.         convert them to color images before filtering them (see ``Filtering
  7459.         color images'') or using other operations that assume the image
  7460.         is color. Images can be converted from any depth (8, 16, 24, or
  7461.         32 bits per pixel) to any other depth. 
  7462.         
  7463.         If the starting image is an 8-bit image with a colormap, the 
  7464.         colormap colors are used to select the appropriate colors for 
  7465.         the new image. These can be easily changed (see \it Change colormap \rm ).
  7466.         
  7467.         If the starting image is a color image, and it is being converted
  7468.         to 8 bits/pixel, the currently-selected  palettization method is 
  7469.         used to calculate the colors.  The default method is ``quantization''.
  7470.         This can be changed (see \it Color Settings \rm ).
  7471.         3D images are always converted using the closest-fit method.
  7472.         
  7473.         Once converted, writing the image to disk will cause it to be
  7474.         saved in its new depth.
  7475.  
  7476.  
  7477.  
  7478. \bigskip\hrule\bigskip
  7479. \bba { 8.4.8   Color -- Gray scale  }
  7480. \bigskip
  7481. \hrule\bigskip
  7482. \rm
  7483.         Converts the image from color or indexed-color to gray scale
  7484.         (luminosity). The relative contributions to luminosity from
  7485.         the red, green, and blue components are determined by the
  7486.         ``Luminosity factors'' which can be changed by selecting
  7487.         ``Color...Color settings''.
  7488.          
  7489.         The default is: $$   value = .299*r + .587*g + .114*b  $$
  7490.  
  7491.         The results for 8-bit images may be different from the results
  7492.         of merely changing the colormap to gray scale, because for 8-bit
  7493.         images, the conversion creates a new colormap to match the luminosities
  7494.         in the image as closely as possible.
  7495.  
  7496.  
  7497. \bigskip\hrule\bigskip
  7498. \bba { 8.4.9   Gray scale -- color  }
  7499. \bigskip
  7500. \hrule\bigskip
  7501. \rm
  7502.  
  7503.         Deactivates grayscale mapping, reactivates color manipulation
  7504.         features, and tries to restore previous color information if 
  7505.         possible. 
  7506.         
  7507.         \bf WARNING: \rm Converting color to grayscale and back is not 
  7508.         always a reversible process.
  7509.  
  7510.   
  7511. \vfill\eject
  7512. \bigskip\hrule\bigskip
  7513. \bba { 8.4.10  Histogram  }
  7514. \bigskip
  7515. \hrule\bigskip
  7516. \rm
  7517.  
  7518.        
  7519.         Plots a histogram of the no. of  pixels  with  a  given  value
  7520.         within  the  selected  area  vs. the pixel value. Quite useful
  7521.         when trying to optimize  the  contrast  or  brightness  of  an
  7522.         image.  Clicking  on  the  edge of the histogram allows you to
  7523.         move it to some other screen location in the  same  manner  as
  7524.         moving the dialog boxes and click boxes.                           
  7525.  
  7526.         Clicking  \it capture \rm  allows  you to capture all or part of the
  7527.         graph into a new image. After clicking on \it capture \rm,  use  the
  7528.         mouse  to select the desired portion of the graph. A new image
  7529.         which includes that region is then automatically created. 
  7530.  
  7531.         Clicking \it subtract baseline \rm allows you to subtract a baseline
  7532.         from the histogram. Select the desired baseline by clicking as
  7533.         many times as  desired  to  create  the  baseline  curve.  The
  7534.         baseline  curve  is  constructed  using  a B-spline (see under
  7535.         \it B-spline curve \rm ). You can modify  the  curve  as  desired  by
  7536.         clicking and dragging the small boxes (which represent control
  7537.         points  for  the curve). Up to 200 control points can be used.
  7538.         The control points do not have to be within the graph  region;
  7539.         however,  any negative numbers created by baseline subtraction
  7540.         are truncated to 0's.
  7541.  
  7542.         See  \it strip densitometry \rm above for more details on the plot
  7543.         functions.
  7544.         
  7545. \bf        Note: \rm When a graph is being displayed, smoothing, subtracting
  7546.         baseline, etc., affect the displayed data only,  and  have  no
  7547.         effect on the image.
  7548.  
  7549.  
  7550.  
  7551. \bigskip\hrule\bigskip
  7552. \bbb { 8.4.11 Change pixel value  }
  7553. \bigskip
  7554. \hrule\bigskip
  7555. \rm
  7556.        This menu option was previously called \it Change brightness/contrast \rm.
  7557.        The effect is consistent across all image types and screen modes,
  7558.        but is slower in 8-bit modes than the \it Change brightness \rm option.
  7559.        
  7560. \it    For 8 bit/pixel images:
  7561.         
  7562. \rm    This adds a value (-255  to 255) to all pixels in the currently-
  7563.        selected image or screen region, generally making it darker or 
  7564.        lighter. (The actual effect on the image will depend on the 
  7565.        colormap).
  7566. \bf    NOTE: See the warning under ``Contrast''.
  7567.         
  7568. \it    For color images:
  7569.  
  7570. \rm    This adds or subtracts a value for the red, green, and blue
  7571.        components of the currently-selected image or  screen  region,
  7572.        making it darker or lighter or altering its color balance.
  7573.        
  7574.  
  7575.  
  7576. \bigskip\hrule\bigskip
  7577. \bbb { 8.4.12 Separate colors }
  7578. \bigskip
  7579. \hrule\bigskip
  7580.  
  7581.  
  7582. \rm  Creates 3 8-bit monochrome images containing the red, green, and blue
  7583.      components of the original color image.
  7584.  
  7585.  
  7586. \bigskip\hrule\bigskip
  7587. \bbb { 8.4.13 Composite image }
  7588. \bigskip
  7589. \hrule\bigskip
  7590.  
  7591.  
  7592. \rm  Combines 3 8-bit monochrome images containing the red, green, and blue
  7593.      components into a 24-bit color image. All 3 images must be the same size.
  7594.  
  7595.  
  7596. \vfill\eject
  7597. \bigskip\hrule\bigskip
  7598. \bbc { 8.5.0   Draw  menu   }
  7599. \bigskip
  7600. \hrule\bigskip
  7601. \rm
  7602.  
  7603.         Most of the drawing operations listed below put TN-Image in the
  7604.         drawing mode, in which each mouse click creates another graphic
  7605.         element. To return to normal mode, click anywhere on the top menu 
  7606.         bar or the \it Cancel \rm button.
  7607.  
  7608.  
  7609. \bigskip\hrule\bigskip
  7610. \bba { 8.5.1   Label  }
  7611. \bigskip
  7612. \hrule\bigskip
  7613. \rm
  7614.  
  7615.        Adds a label. This option is identical to the process of typing a
  7616.        label and doing a chroma-keyed copy, but is less flexible in that only
  7617.        text can be pasted. The function is mainly provided to provide 
  7618.        similarity to other programs, in case someone tries to use the program 
  7619.        without reading the manual. 
  7620.  
  7621.  
  7622. \bigskip\hrule\bigskip
  7623. \bba { 8.5.2   Set foreground color   }
  7624. \bigskip
  7625. \hrule\bigskip
  7626. \rm
  7627.         Changes the foreground (drawing) color. 
  7628.         The foreground color is used for all text, lines, circles,  spray,
  7629.         arrows,  etc.  
  7630.         The foreground color can also be changed by clicking the left
  7631.         mouse button when the mouse cursor is pointing to the desired
  7632.         color in the `colormap display' (the long vertical bar or
  7633.         square at the right of the screen). 
  7634.         
  7635.  
  7636. \bigskip\hrule\bigskip
  7637. \bba { 8.5.3   Set background color   }
  7638. \bigskip
  7639. \hrule\bigskip
  7640. \rm
  7641.         Changes the background color. 
  7642.         The  background color is used for the backspace
  7643.         and delete keys, and when erasing an image from the screen.
  7644.         The background color can also be changed by clicking the right 
  7645.         mouse button on the colormap display. Because it is possible
  7646.         to have images and text on the background, changing the background
  7647.         color does not immediately redraw the background in the new 
  7648.         color. This can be done by selecting ``Erase background''.
  7649.  
  7650.  
  7651.  
  7652. \bigskip\hrule\bigskip
  7653. \bba { 8.5.4   Line  }
  7654. \bigskip
  7655. \hrule\bigskip
  7656. \rm
  7657.  
  7658.  
  7659.         Draws lines. Click at the starting position, drag to  the  end
  7660.         position,  and  then  release  to  draw a straight line. Click
  7661.         anywhere on the top menu bar to return to normal mode.
  7662.  
  7663.  
  7664. \bigskip\hrule\bigskip
  7665. \bba { 8.5.5   Circle    }
  7666. \bigskip
  7667. \hrule\bigskip
  7668. \rm
  7669.  Draws circles of the specified size.
  7670.  
  7671. \bigskip\hrule\bigskip
  7672. \bba { 8.5.6   Box   }
  7673. \bigskip
  7674. \hrule\bigskip
  7675. \rm
  7676.    Draws boxes by the click-and-drag method.
  7677.  
  7678.  
  7679. \bigskip\hrule\bigskip
  7680. \bba { 8.5.8  Curve  }
  7681. \bigskip
  7682. \hrule\bigskip
  7683. \rm
  7684.  
  7685.   Draws a curve or line defined by user-selected control points.  
  7686.  
  7687. \vfill\eject
  7688. \bigskip\hrule\bigskip
  7689. \bba { 8.5.8.1  Bezier curve   }
  7690. \bigskip
  7691. \hrule\bigskip
  7692. \rm
  7693.  
  7694.        Draws  a  smooth  curve. Click on the desired locations for the
  7695.        control points. At least 3 points are required to draw a curve.
  7696.        The position of each control point is indicated by a small box.
  7697.        The control points can be moved interactively by clicking on an
  7698.        existing box and  dragging  it  to  a  new  location.  Clicking
  7699.        outside  a  box  creates  a  new  control  point.  When you are
  7700.        satisfied with the shape of the curve, pressing any key  erases
  7701.        the  small  boxes and makes the Bezier curve permanent. You can
  7702.        have a maximum of 199 control points.
  7703.    
  7704.  
  7705.  
  7706. \bigskip\hrule\bigskip
  7707. \bba { 8.5.8.2  B-spline curve   }
  7708. \bigskip
  7709. \hrule\bigskip
  7710. \rm
  7711.  
  7712.  
  7713.        Similar to Bezier curve, except has a maximum  of  196  control
  7714.        points.  B-spline  curves differ from Bezier curves in that the
  7715.        curve tends to be closer to the control points and  sharper  in
  7716.        appearance. 
  7717.  
  7718.  
  7719. \bigskip\hrule\bigskip
  7720. \bba { 8.5.8.3 Least-squares line  }
  7721. \bigskip
  7722. \hrule\bigskip
  7723. \rm
  7724.  
  7725.  Fits a straight line between the control 
  7726.        points using a least-squares algorithm.
  7727.  
  7728.  
  7729. \bigskip\hrule\bigskip
  7730. \bba { 8.5.8.4  Polygon  }
  7731. \bigskip
  7732. \hrule\bigskip
  7733. \rm
  7734.   Draws a polygon through an arbitrary number of control points.
  7735.  
  7736. \bigskip\hrule\bigskip
  7737. \bba { 8.5.8.5  Trapezoid  }
  7738. \bigskip
  7739. \hrule\bigskip
  7740. \rm
  7741.   Draws a trapezoid through 4 control points. The control points should be
  7742.   selected in a clockwise direction.
  7743.  
  7744. \bigskip\hrule\bigskip
  7745. \bba { 8.5.8.6  Snap trapezoid  }
  7746. \bigskip
  7747. \hrule\bigskip
  7748. \rm
  7749.   Draws a trapezoid through 4 control points. The control points should be
  7750.   selected in a clockwise direction. The first and third line segments are
  7751.   forced parallel to each other (so it is really a parallelogram).
  7752.  
  7753. \bigskip\hrule\bigskip
  7754. \bba { 8.5.8.7  Fixed-width rectangle  }
  7755. \bigskip
  7756. \hrule\bigskip
  7757. \rm
  7758.   Draws a rectangle with the specified width (in pixels) through two 
  7759.   control points.
  7760.  
  7761.  
  7762.  
  7763.  
  7764.  
  7765. \bigskip\hrule\bigskip
  7766. \bba { 8.5.7   Text direction    }
  7767. \bigskip
  7768. \hrule\bigskip
  7769. \rm
  7770.  Toggles between normal and 90 $\deg$ rotated text.
  7771.  
  7772.  
  7773.  
  7774. \bigskip\hrule\bigskip
  7775. \bba { 8.5.8  Font  }
  7776. \bigskip
  7777. \hrule\bigskip
  7778. \rm
  7779.  
  7780.  
  7781.    Currently, fonts are only available on the Unix version. You can 
  7782.    select from any font available in X Windows. See the X man pages for 
  7783.    additional information. If you add new fonts, delete the file ``fonts''
  7784.    so that the font list will be regenerated.
  7785.  
  7786.  
  7787.  
  7788. \bigskip\hrule\bigskip
  7789. \bba { 8.5.9   Sketch    }
  7790. \bigskip
  7791. \hrule\bigskip
  7792. \rm
  7793.  
  7794.   In sketch mode, whenever the left mouse button is pressed, a continuous 
  7795.   line is drawn on the screen. Sketch mode is also toggled on/off by the F2 key.
  7796.                             
  7797.  
  7798. \vfill\eject
  7799. \bigskip\hrule\bigskip
  7800. \bba { 8.5.10  Fill region   }
  7801. \bigskip
  7802. \hrule\bigskip
  7803. \rm
  7804.  
  7805.         Flood fill
  7806.  
  7807.         Fill type
  7808.  
  7809. \it          Solid    \rm       - fills a region with a constant color
  7810.  
  7811. \it          Horiz.Gradient  \rm - fills a region with colors increasing or
  7812.                             decreasing left to right    
  7813.  
  7814. \it          Vert.Gradient \rm  - fills a region with colors increasing or
  7815.                             decreasing top to bottom
  7816.                             
  7817. \it        Solid fill color  \rm - Used for `solid' fills only. Specifies the
  7818.                             color to be used when filling.
  7819.                             
  7820. \it        Max border color, 
  7821.            Min border color    
  7822.  
  7823. \rm      In  a  flood  fill, all pixels in a given region bounded by a
  7824.          ``border color'' are changed. Outside the border, the image  is
  7825.          unchanged.  In  TN-Image, instead of one single border color,
  7826.          you can select a range of colors. Any pixel within that range
  7827.          will act as a border. For example, if  you  set  Max.  border
  7828.          color = 200 and Min. border color = 127, then only the region
  7829.          containing  pixels  less than 127 or greater than 200 will be
  7830.          filled. This is useful since many real-world  images  do  not
  7831.          contain  a single continuous line of pixels which could serve
  7832.          as a ``border''.
  7833.          
  7834.          If you try to fill a bounded region (such as a box), the color 
  7835.          of the boundary must be between the minimum and maximum border
  7836.          colors. Otherwise, the color will spill out of the region and
  7837.          possibly ruin other images on the screen.
  7838.  
  7839.  
  7840. \bigskip\hrule\bigskip
  7841. \bba { 8.5.10.1 Gradient fill  }
  7842. \bigskip
  7843. \hrule\bigskip
  7844. \it
  7845.  
  7846.         Grad start coordinate,  
  7847.         Grad end coordinate -
  7848.         
  7849. \rm      Specifies the starting and ending reference coordinates that will 
  7850.          be used to calculate the color. The closer the starting and ending 
  7851.          coordinates are to each other, the steeper the gradient. The ``Start
  7852.          Gradient Color'' will be used at the Start Coordinate and the ``End
  7853.          Gradient Color will be used at the End Coordinate. All other colors
  7854.          will be calculated from these 2 points. Note that filling itself  
  7855.          is bounded by the Border Color and not by the Start and End 
  7856.          coordinates.
  7857.  
  7858.          For horizontal gradients, use x values for the start and end
  7859.          coordinates; when making vertical gradients, use y values.
  7860.  
  7861. \bf        For 8 bit/pixel screen modes:
  7862.  
  7863. \it          Start gradient color
  7864.  
  7865.           End gradient color  
  7866. \rm                             - Selects the intensity value that is to be 
  7867.                                 used at the starting and ending coordinates,
  7868.                                 respectively.
  7869.  
  7870. \bf      For other bit/pixel screen modes:
  7871.  
  7872. \it       Start gradient red
  7873.  
  7874.           End gradient red   
  7875.  
  7876.           Start gradient green
  7877.  
  7878.           End gradient green 
  7879.  
  7880.           Start gradient blue 
  7881.  
  7882.           End gradient blue \rm  - Selects the RGB color value that is to be 
  7883.                                 used at the starting and ending coordinates,
  7884.                                 respectively.
  7885.  
  7886. \medskip
  7887.        These parameters specify the color values to use at the gradient
  7888.        starting and ending coordinates. Note that the  ``starting'' color
  7889.        can  be  larger  or smaller than the ``ending''  color. This gives
  7890.        greater flexibility, especially in true-color modes, for creating
  7891.        a blend of one color into another. 
  7892.                             
  7893.        Sometimes,  as when filling the inside of letters in text, it is
  7894.        desirable to have the appearance of the same gradient  extending
  7895.        out  of  sight  between  the letters. This can be done easily in
  7896.        TN-Image, simply by not changing the starting and ending gradient
  7897.        colors. Clicking inside each area to be filled sequentially will
  7898.        cause  the  same  colors  to be used as if the entire region had
  7899.        been filled with a gradient.
  7900.                             
  7901.        Special care should be given to starting and ending r,g,  and  b
  7902.        values  when  working  in  15-  and  16-color  modes. You should
  7903.        specify slightly different starting and ending values for each color
  7904.        in order to avoid a  ``stepped''  appearance of the gradient. This
  7905.        prevents all 3 colors from being incremented at the  same  place
  7906.        on the screen, due to the fact that each color only has 31 or 63
  7907.        discrete values.
  7908.                             
  7909. \proclaim       Example 1.
  7910.        Creating a rectangular area with a gradient increasing in brightness
  7911.        from left to right.
  7912.        
  7913. \item{1.}  Start TN-Image in mode 103 by typing:
  7914. \tt             tnimage -mode 103 \it ( DOS version )
  7915. \rm
  7916. \item{2.} Click on the colormap palette to select a light color, e.g., 250.
  7917. \item{3.} Select ``Draw...Box'' and draw a box. Note that the box is drawn in
  7918.           color 250.
  7919. \item{4.} Make a note of the starting and ending x coordinates of the box
  7920.           (Shown on the menu bar).
  7921. \item{5.} Select ``Draw...Fill region''.
  7922. \item{6.} Click on ``Horizontal gradient''.
  7923. \item{7.}For ``Grad start coordinate'' enter the leftmost x position of
  7924.           the box.
  7925. \item{8.} For ``Grad end coordinate'' enter the rightmost x position of
  7926.           the box.
  7927. \item{9.} Enter 251 and 249 for ``Max border color'' and ``Min border color'',
  7928.           respectively. The flood fill will stop at any pixel that is a
  7929.           249, 250, or 251.
  7930. \item{10.}For ``Start gradient color'' and ``End gradient color'' enter 0 and
  7931.           255, respectively. This will cause the color to change from 0
  7932.           to 255 as x changes from the starting to ending coordinate of
  7933.           the box.
  7934. \item{11.}Click on ``OK''.
  7935. \item{12.}Move the mouse to any point inside the box and click. The box 
  7936.           should fill up with the gradient.
  7937.           
  7938. \bigskip
  7939. \proclaim       Example 2.
  7940.        Removing a gradient background from an image (flattening the
  7941.        background). 
  7942.  
  7943.            If an image is too light on one side and too dark on the other,
  7944.        one way to fix it is by adding or subtracting an artificial gradient.
  7945.        In the Registered version, this can be done automatically, by 
  7946.        selecting ``Filter...Background Flatten''.
  7947.  
  7948. \medskip       
  7949. \item{1.} Move all images off to one side to create a blank area on the 
  7950.           screen.
  7951. \item{2.} Select ``Color...Set colors'' and change the background color to
  7952.           black (0) and the foreground color to white (e.g.,255).
  7953. \item{3.} Draw a box as in Example 1, slightly larger than the image that
  7954.           has the uneven background.
  7955. \item{4.} Set the Grad Start and Grad End Coordinates to match the position
  7956.           of the box.
  7957. \item{5.} Set the Max and Min Border Colors so that the color of the box
  7958.           is between the Max and Min Border Color.
  7959. \item{6.} Set the Start and End Gradient Colors to values which, when added
  7960.           to the corresponding parts of the image, will equalize the 
  7961.           intensity. For instance, if the image colors are mostly 10-20 on 
  7962.           the left and 90-100 on the right, set the Start and End Gradient
  7963.           Colors to 80 and 0, respectively. The imarge should be dark enough
  7964.           so that adding these colors will saturate the image. If the image
  7965.           is too light already, you should set the Start and End Gradient
  7966.           Colors to 0 and 80, respectively, and use ``Subtract'' instead of
  7967.           ``Add'' below.
  7968. \item{7.} Fill the box with the gradient.
  7969. \item{8.} Move your image back onto the screen (don't cover the gradient).
  7970. \item{9.} Select ``Configure...Set pixel mode'' and click on ``Add''.
  7971. \item{10.} Select ``Image...Copy'' and click-and-drag to copy a region from
  7972.           your image. Paste it on top of the gradient. The image will be
  7973.           ``added'' to the gradient.
  7974. \item{11.} Select ``Configure...Set pixel mode'' and set the pixel mode back
  7975.           to ``Overwrite''.
  7976. \item{12.} Select ``File...Create Image'' and select the area you just pasted.
  7977.           This will put the modified area into an image buffer.
  7978. \item{13.} Select ``Image...Erase Background'' to clean up the desktop.
  7979.  
  7980.  
  7981. \vfill\eject
  7982. \bigskip\hrule\bigskip
  7983. \bba { 8.5.11  Paint Region  }
  7984. \bigskip
  7985. \hrule\bigskip
  7986. \rm
  7987.        Sets a rectangular  region  to  the  foreground  color.  After
  7988.        selecting  `paint region', move the mouse cursor to one corner
  7989.        and click and drag to the other corner. The selected area will
  7990.        be painted.
  7991.  
  7992.  
  7993.  
  7994. \bigskip\hrule\bigskip
  7995. \bba { 8.5.12  Spray  }
  7996. \bigskip
  7997. \hrule\bigskip
  7998. \rm
  7999.       Creates a spray-paint  effect. Click the left mouse button at
  8000.       the center of the region to be sprayed.  The  area  covered  is
  8001.       determined by the ``spray factor'' in the ``configuration'' menu.
  8002.       Click the main ``Cancel'' button at left to return to normal mode.
  8003.  
  8004. \bf 8.5.12.1 Fine spray  \rm
  8005.  
  8006.       Creates a solid spray painting effect. Click the left mouse button at
  8007.       the center of the  region to be sprayed. The area covered is
  8008.       determined by the ``spray factor'' in the ``configuration'' menu.
  8009.  
  8010. \bf 8.5.12.2 Diffuse spray   \rm
  8011.  
  8012.       Diffuse spray sets the pixels around the cursor to the foreground (drawing) 
  8013.       color, but in a diffuse pattern.
  8014.  
  8015. \bf 8.5.12.3 Math spray   \rm
  8016.  
  8017.      Math spray allows you to enter any mathematical formula to be applied to
  8018.      all the pixels in a fixed area around the cursor. This can be used to
  8019.      interactively copy small parts of another image or a different part of
  8020.      the image. For example, you could enter the formula
  8021.      
  8022.      \tt i=image[1][0][x+100][y+100] \rm  .
  8023.      
  8024.      This would copy pixels from image no. 1, frame 0, 100 pixels to the right
  8025.      and below the mouse cursor, for a pattern retouching or texture mapping
  8026.      effect. The image number can be the same image or a different one (see 
  8027.      \it image algebra \rm).
  8028.      
  8029.      If the image is color, the red, green, and blue components can have
  8030.      independent equations.
  8031.  
  8032. \bf Spray only once \rm
  8033.  
  8034.     If this box is checked, math spray will only modify each pixel once. 
  8035.     This is useful in preventing overlap of the sprayed region by successive
  8036.     passes with the mouse.
  8037.     
  8038. \bf Spray factor \rm
  8039.  
  8040.     Determines the size of the area to be affected.
  8041.  
  8042.  
  8043.  
  8044. \bigskip\hrule\bigskip
  8045. \bba { 8.5.13  Add border  }
  8046. \bigskip
  8047. \hrule\bigskip
  8048. \rm
  8049.  Puts a border around the current image. The border 
  8050.        color is selectable.
  8051.  
  8052.  
  8053.  
  8054.  
  8055.  
  8056. \vfill\eject
  8057. \bigskip\hrule\bigskip
  8058. \bbc { 8.6.0   About menu   }
  8059. \bigskip
  8060. \hrule\bigskip
  8061. \rm
  8062.  
  8063.  
  8064.  
  8065. \bigskip\hrule\bigskip
  8066. \bba { 8.6.1   About the program  }
  8067. \bigskip
  8068. \hrule\bigskip
  8069. \rm
  8070.      Displays the version number, operating system, amount of free memory, 
  8071.      the number of images currently loaded, the number of images that
  8072.      have been backed up, and the x and y starting position of the current 
  8073.      (top) image. You can also use this option to switch to a different
  8074.      image, by selecting the desired image from the list with the arrow 
  8075.      keys or mouse, and pressing \it Enter \rm or clicking on \it OK \rm.
  8076.  
  8077.  
  8078.  
  8079. \bigskip\hrule\bigskip
  8080. \bba { 8.6.2   About the file   }
  8081. \bigskip
  8082. \hrule\bigskip
  8083. \rm
  8084.  
  8085.                             Displays a variety of technical information
  8086.                             about your image file. This is useful in
  8087.                             diagnosing problems with reading a possibly
  8088.                             corrupted file or in getting parameters from
  8089.                             an unknown file format such as that produced by
  8090.                             certain specialized frame grabbers. 
  8091.  
  8092.  
  8093. \bigskip\hrule\bigskip
  8094. \bba { 8.6.3   About the image   }
  8095. \bigskip
  8096. \hrule\bigskip
  8097. \rm
  8098.  
  8099.                             Displays a variety of information about the
  8100.                             currently-selected image, including whether
  8101.                             it is backed up, has an FFT, its original 
  8102.                             filename and image depth, etc.
  8103.                             
  8104.  
  8105. \bigskip\hrule\bigskip
  8106. \bba { 8.6.4   How to register  }
  8107. \bigskip
  8108. \hrule\bigskip
  8109. \rm
  8110.                             Displays vital information concerning how to
  8111.                             register your copy of TN-Image and obtain a
  8112.                             more powerful version along with technical 
  8113.                             support.  \it (DOS version only) \rm
  8114.                             
  8115.  
  8116.  
  8117. \vfill\eject
  8118. \bigskip\hrule\bigskip
  8119. \bbc { 8.7.0   Configure menu  }
  8120. \bigskip
  8121. \hrule\bigskip
  8122. \rm
  8123.  
  8124.  
  8125.  
  8126. \bigskip\hrule\bigskip
  8127. \bba { 8.7.1   Show menu bar (DOS)  }
  8128. \bigskip
  8129. \hrule\bigskip
  8130. \rm
  8131.  
  8132.     If checked, the menu bar at the top will be continuously visible.
  8133.     Sometimes it is  convenient to make it invisible, as when
  8134.     photographing the screen.  Even when invisible, clicking on the
  8135.     appropriate region will still activate the menu  (\it DOS version only \rm).
  8136.  
  8137.  
  8138. \bigskip\hrule\bigskip
  8139. \bba { 8.7.2   Show menu bar 2  }
  8140. \bigskip
  8141. \hrule\bigskip
  8142. \rm
  8143.  Displays additional information. Toggles
  8144.     the second menu bar on/off (\it DOS version only \rm).
  8145.  
  8146.  
  8147. \bigskip\hrule\bigskip
  8148. \bba { 8.7.5   Redraw colormap   }
  8149. \bigskip
  8150. \hrule\bigskip
  8151. \rm
  8152.  
  8153.    Click the left mouse button to indicate where the new colormap strip
  8154.     should go. The colormap strip is redrawn in a
  8155.     window of its own, separate from the images.  The colormap can be used 
  8156.     to select the foreground and background colors (by clicking the left 
  8157.     or right mouse buttons, respectively, on the desired color). 
  8158.  
  8159.  
  8160. \bigskip\hrule\bigskip
  8161. \bba { 8.7.6   Show O.D. table  }
  8162. \bigskip
  8163. \hrule\bigskip
  8164. \rm
  8165.  
  8166.     Draws a graph showing the correspondence between pixel values (0
  8167.     to 255) and optical  density,  as  calculated  by  the  scanner.
  8168.     Typically,  only  TIF  files  from  scanners  have an O.D. table
  8169.     (referred to in TIF files as a `gray  response  curve'.  If  the
  8170.     image  does  not provide one, TN-Image will create a linear O.D.
  8171.     table. (\bf Note: \rm most Macintosh TIF files do not have O.D. tables.)
  8172.         
  8173.     The O.D. table is only  meaningful  in  monochrome/indexed-color
  8174.     modes  (8  bits/pixel).  It is also known as a ``gamma correction
  8175.     table''.  Each image can have a separate O.D. table. 
  8176.  
  8177.     Changing this O.D. table is possible but not recommended.
  8178.   
  8179.  
  8180. \bigskip\hrule\bigskip
  8181. \bba { 8.7.7   Pixel interact mode   }
  8182. \bigskip
  8183. \hrule\bigskip
  8184. \rm
  8185.  
  8186.     Selects how 2 pixels interact with each other when  you  copy  and
  8187.     paste parts of an image, read an image from disk, or add graphical
  8188.     elements.
  8189.                             
  8190. \it    Overwrite  \rm - Default mode. The new pixel erases the old pixel. This
  8191.     is by far the fastest mode. 
  8192.  
  8193. \it    Maximum \rm  - The larger of the 2 values is used.
  8194.  
  8195. \it    Minimum \rm  - The smaller of the 2 values is used.
  8196.  
  8197. \it    Add    \rm   - The 2 values are added (up to the maximum value).
  8198.  
  8199. \it    Subtract \rm - The new value is subtracted from the old value (with a 
  8200.                 minimum result of 0).
  8201.  
  8202. \it    XOR    \rm   - The 2 values are XOR'd with each other.
  8203.  
  8204. \it    Average \rm  - The 2 values are averaged.
  8205.  
  8206. \it    Superimpose \rm - The new pixel replaces the old pixel unless the new pixel's
  8207.                 value is 0, in which case the old pixel is unaffected (allows
  8208.                 superimposing images with parts ``masked out'').
  8209.                       
  8210. \bigskip   
  8211. \proclaim    Example 1. Finding subtle differences between two images (also creates a
  8212.                silhouette effect).
  8213.  
  8214. \item{1.}  Load an image into TN-Image.
  8215. \item{2.}  Select ``Pixel interaction mode...Subtract''.
  8216. \item{3.}  Select ``Load image'' and change ``x position'' and ``y position'' to 2.
  8217. \item{4.}  Click on ``OK''.
  8218. \item{5.} You now have a subtracted image. (It may be necessary to make it 
  8219.          lighter or increase its contrast.)
  8220.                                      
  8221. \bigskip   
  8222. \proclaim     Example 2. Creating contour maps of an image.
  8223.  
  8224. \item{1.} Load an image into TN-Image.
  8225. \item{2.} Select ``Pixel interaction mode...XOR''.
  8226. \item{1.} Select `copy', and click-and-drag to select a portion of the image.
  8227. \item{1.} Release the mouse button.
  8228. \item{1.} Move the mouse to a location 1 pixel to the right and 1 pixel 
  8229.          below the original position and click the mouse button to put 
  8230.          the copy in place.
  8231. \item{1.} You now have a crude contour plot of your image. The gradient 
  8232.          sensitivity of the contour plot can be decreased by using an 
  8233.          offset of 2 or more pixels in step (5). You can also ``threshold'' 
  8234.          the plot by subtracting a value (``make darker'') and then adding 
  8235.          it back(``make lighter'').
  8236.               
  8237. \bigskip   
  8238. \proclaim 
  8239.     Example 3. Reducing chunkiness in image.
  8240.  
  8241. \item{1.} Read an image into TN-Image.
  8242. \item{1.} Select ``Pixel interaction mode...Average''.
  8243. \item{1.} Select ``Load image'' and change ``x position'' and ``y position'' to 2.
  8244. \item{1.} Click on ``OK''.
  8245. \item{1.} You now have an image that is smoother without becoming blurred.
  8246.                                  
  8247. \bigskip
  8248.     Don't forget to change ``Pixel interact mode'' back to ``Overwrite'' 
  8249.     afterwards.
  8250.                             
  8251. \bf    NOTE: \rm Don't forget that, when loading an image, unless the
  8252.     interact mode is ``overwrite'', the image will interact not only
  8253.     with other images but also with the background in areas where no
  8254.     image is present. Thus it may be helpful to set the background
  8255.     color to black first, to avoid unexpected results.
  8256.  
  8257. \vfill\eject
  8258. \bigskip\hrule\bigskip
  8259. \bbb { 8.7.8  Configure...  }
  8260. \bigskip
  8261. \hrule\bigskip
  8262. \rm
  8263.     Configures the following options:
  8264.  
  8265.  
  8266. \bigskip\hrule\bigskip
  8267. \bba { 8.7.8.1   Automatic undo  }
  8268. \bigskip
  8269. \hrule\bigskip
  8270. \rm
  8271.  
  8272.                             If checked, automatically creates an
  8273.                             ``undo buffer'' when a new image is read.
  8274.                             This can also be done manually, by
  8275.                             selecting ``Process...Backup image''.
  8276.                             If you make a mistake when filtering or
  8277.                             adding text to the image, you can
  8278.                             restore the most recent backup from the
  8279.                             undo buffer by selecting ``Process...Restore''. 
  8280.  
  8281.  
  8282. \bigskip\hrule\bigskip
  8283. \bba { 8.7.8.2  Spray factor   }
  8284. \bigskip
  8285. \hrule\bigskip
  8286. \rm
  8287.      Controls the area affected by ``fine spray'', ``math spray'' , 
  8288.      and ``diffuse spray'' (in ``Draw...Spray''  menu).
  8289.  
  8290.  
  8291.  
  8292. \bigskip\hrule\bigskip
  8293. \bba { 8.7.8.3  Cursor movement rate  }
  8294. \bigskip
  8295. \hrule\bigskip
  8296. \rm
  8297.                             Controls (a) distance moved by the mouse
  8298.                             cursor when the arrow keys are pressed,
  8299.                             and (b) the distance which an image moves
  8300.                             when you click one of the 4 arrows at
  8301.                             the top of the screen.    
  8302.  
  8303.  
  8304. \bigskip\hrule\bigskip
  8305. \bba { 8.7.8.4  Color settings   }
  8306. \bigskip
  8307. \hrule\bigskip
  8308. \rm
  8309.                             Changes the default parameters used by TN-Image
  8310.                             when converting images.
  8311. \medskip
  8312. \it         Color reduction method \rm - used when converting a color image to
  8313.                             indexed-color (8 bit/pixel) modes.
  8314.                             
  8315. \medskip
  8316. \it           Quantization  \rm - (Default) Calculates the optimal set of 256
  8317.                             colors to match the image as closely as 
  8318.                             possible.
  8319.                             
  8320. \medskip
  8321. \it           Fit current colormap   \rm              
  8322.                           - Calculates the closest match to the currently-
  8323.                             selected colormap. This method can give a 
  8324.                             smoother result than quantization or it can give 
  8325.                             garbage, depending on how closely the colors in 
  8326.                             the colormap match the image.  
  8327.                             
  8328.                             If there are several images that need to be
  8329.                             converted to the same colormap, the best procedure
  8330.                             is to convert the first one using quantization
  8331.                             then convert the rest by fitting to the current
  8332.                             colormap.
  8333.                             
  8334.                             This method is used automatically for 3D images.
  8335.                             
  8336.  
  8337.  
  8338. \bigskip\hrule\bigskip
  8339. \bba { 8.7.8.5  Significant digits  }
  8340. \bigskip
  8341. \hrule\bigskip
  8342. \rm
  8343.     Changes the number of significant digits to display when using a 
  8344.     floating-point number.
  8345.  
  8346. \bigskip\hrule\bigskip
  8347. \bba { 8.7.8.6  Crawl delay   }
  8348. \bigskip
  8349. \hrule\bigskip
  8350. \rm
  8351.    Selects the speed of the ``crawling'' of the box that indicates the selected 
  8352.    area. A value of 4000 disables crawling. A lower value causes faster crawling, 
  8353.    but too low a value will cause flicker on some displays, and slows down the
  8354.    mouse cursor on slower machines.
  8355.  
  8356.  
  8357. \vskip 1 in
  8358. \bigskip\hrule\bigskip
  8359. \bba { 8.7.8.7 Crawl density  }
  8360. \bigskip
  8361. \hrule\bigskip
  8362. \rm
  8363.  
  8364.     Selects the number of dots in the ``crawling box'' that indicates the selected 
  8365.     area. A smaller value makes the box easier to see, but slows down the mouse 
  8366.     cursor on slower machines.
  8367.  
  8368.  
  8369.  
  8370. \bigskip\hrule\bigskip
  8371. \bba { 8.7.8.8 Active color planes  }
  8372. \bigskip
  8373. \hrule\bigskip
  8374. \rm
  8375.     Selects which colors (red, green, or blue) are capable of being modified. 
  8376.     For example, if ``red'' and ``green'' are un-checked, smoothing the image
  8377.     would only smooth the blue component, while the red and green components 
  8378.     were unaffected.  Using this method to sharpen one color, while leaving
  8379.     the other colors unaffected, or warping a single color, can create an 
  8380.     unusual artistic effect.
  8381.                                                      
  8382.     This feature only works for color images greater than 8 bytes/pixel. 
  8383.     To use color planes on an 8 bit/pixel image, select ``Color...Change color
  8384.     depth'' and convert the image to 24 bits/pixel.
  8385.  
  8386. \bigskip\hrule\bigskip
  8387. \bbc { 8.8.0  Help  menu }
  8388. \bigskip
  8389. \hrule\bigskip
  8390. \rm
  8391.   
  8392.     Displays the Help screen. Context-sensitive help is also available
  8393.     for several topics by clicking on the ``Help'' button.
  8394.  
  8395.  
  8396. \vfill\eject
  8397. \bigskip\hrule\bigskip
  8398. \bbc { 8.9.0  Miscellaneous features }
  8399. \bigskip
  8400. \hrule\bigskip
  8401. \rm
  8402.  
  8403.  
  8404. \bigskip\hrule\bigskip
  8405. \bbc { 8.9.1 Frame rate test }
  8406. \bigskip
  8407. \hrule\bigskip
  8408. \rm
  8409.  
  8410. \bf      Alt-T   \rm -   Test video 
  8411.                    Tests the maximum frame rate of your video system. 
  8412.       
  8413.       Here are some typical frame rates (fps) in DOS on a 80486 33MHz PC
  8414.       with ISA:
  8415.  
  8416. % make columns with 2 inches on left then spacing the width of 3 'm's.
  8417.  
  8418. \medskip      
  8419. \settabs \+  & \hskip 2 in mmm & mmm & mmm & mmm & mmm & mmm & mmm & mmm & mmm & mmm\cr
  8420. \+  \hskip 1 in                           &     &       &      &  Screen mode                      \cr
  8421. \+   \hskip 2 in &  Video card      &mode  &100    &101   &103   &105   &107   &111   &112   &115  \cr
  8422. \+   \hskip 2 in &                  &xres  &640    &640   &800   &1024  &1280  &640   &640   &800  \cr
  8423. \+   \hskip 2 in &                  &yres  &400    &480   &600   &768   &1024  &480   &480   &600  \cr
  8424. \+   \hskip 2 in &                  &bpp   &  8    & 8    & 8    & 8    & 8    &16    &32    &32   \cr
  8425. \+   \hskip 2 in &  --------------------- & -----&  ----- & ----- & ----- & ----- & ----- & ----- & ----- & ----- \cr      
  8426.  
  8427. \settabs \+  & \hskip 2 in mmmmmm & mmm & mmm & mmm & mmm & mmm & mmm & mmm &\cr
  8428. \+   \hskip 2 in &   \#9GXE64-2MB VRAM S3  &  -- &  7.69 & 4.54 & 4.34 & 3.33 & 2.63 & 2.50 & 1.00 \cr
  8429. \+   \hskip 2 in &   ATI Expression Mach64 \hskip 2 in & 12.5&  9.09 & 5.26 & 5.55 & 1.27 & 2.63 & 1.59 & 0.89 \cr
  8430. \+   \hskip 2 in &  Kelvin 64 (Cirrus) 2MB& 16.7& 12.50 & 8.33 & 5.00 & 3.33 & 3.22 & 1.89 & 2.00 \cr
  8431. \+   \hskip 2 in &  Tseng ET4000 8-bit*   &  4.3&  3.57 & 2.22 & 1.61 &  --  &  --  &  --  &  --  \cr
  8432. \+   \hskip 2 in &  Trident 8900 1MB      & 10.0&  8.33 & 4.34 &  --  &  --  &  --  &  --  &  --  \cr
  8433. \+   \hskip 2 in &  Realtek 1MB RTG3106   &  8.3&  6.66 & 4.00 & 2.85 &  --  &  --  &  --  &  --  \cr
  8434.  
  8435. \rm\medskip      
  8436.       * = Card in bad shape
  8437.       -- = Unable to set mode             
  8438. \medskip
  8439.       Speed is not the most important parameter, however. On a high-quality
  8440.       monitor, cheaper cards may appear fuzzy or jittery or have weird-
  8441.       looking fonts. PCI bus video cards are in general about 5-10 times
  8442.       faster. Frame rates will be much lower in Unix X11 versions
  8443.       and Windows versions of the program (if one becomes available).
  8444.  
  8445.  
  8446. \bigskip\hrule\bigskip
  8447. \bbc { 8.9.2 Emergency image repair }
  8448. \bigskip
  8449. \hrule\bigskip
  8450. \rm
  8451.  
  8452. \bf      Alt-R  \rm -  Rebuild screen display
  8453.                  If for some reason the display is incorrect, Alt-R will 
  8454.                  cause it to be rebuilt. 
  8455.  
  8456. \bigskip\hrule\bigskip
  8457. \bbc { 8.9.3 Erase image }
  8458. \bigskip
  8459. \hrule\bigskip
  8460. \rm
  8461.  
  8462. \bf      Alt-E  \rm -  Erase image
  8463.                  Erases the currently-selected image (after asking you).
  8464.                  Useful if memory somehow gets filled with images and there
  8465.                  is insufficient memory to open a window. This can sometimes 
  8466.                  happen in a Windows DOS box but should not happen in DOS or
  8467.                  Unix.
  8468.  
  8469.  
  8470. \bigskip\hrule\bigskip
  8471. \bbc { 8.9.4 Sketch mode }
  8472. \bigskip
  8473. \hrule\bigskip
  8474. \rm
  8475.                  
  8476.                  
  8477. \bf     F2   \rm   -  Toggles Sketch mode on/off
  8478.  
  8479.  
  8480.  
  8481.  
  8482.  
  8483.  
  8484.  
  8485.  
  8486.  
  8487.  
  8488.  
  8489.  
  8490.     
  8491. \vfill\eject
  8492. \bigskip\hrule\bigskip
  8493. \bbc { 9.0.0  Windows and OS/2 compatibility }
  8494. \bigskip
  8495. \hrule\bigskip
  8496. \rm
  8497.  
  8498.       It is recommended to use the included PIF file (TNIMAGE.PIF) when
  8499.       running TN-Image under Windows. 
  8500.       
  8501.       The suggested procedure is:
  8502. \item{1.}   Copy and unzip TN-Image in the desired location, e.g., 
  8503.                   C:$\backslash$ TNIMAGE.
  8504. \item{2.} In Windows, Select ``File...New program item''
  8505. \item{3.} Set ``Description'' to ``TN-Image''.
  8506. \item{4.} Set ``Command line'' to C:$\backslash$ TNIMAGE$\backslash$ TNIMAGE.PIF 
  8507. \item{5.} Set ``Working directory'' to C:$\backslash$ TNIMAGE
  8508. \item{6.} Set ``Shortcut Key'' to ``none''
  8509. \item{7.} Leave ``Run minimized'' unchecked.
  8510. \item{8.} Select ''Change icon'' and enter ``C:$\backslash$ 
  8511.             TNIMAGE$\backslash$ TNIMAGE.ICO''
  8512. \item{9.} Click on ``OK''.
  8513. \medskip
  8514.  
  8515. \bf   Virtual Memory
  8516.  
  8517. \rm  Because Windows takes over virtual memory, running TN-Image  
  8518.       under Windows will affect virtual memory usage. Before starting
  8519.       TN-Image, make sure the amount of Virtual Memory selected in the
  8520.       Windows Control Panel is greater than the amount of RAM in your
  8521.       computer. Also, check to make sure there are several MB of free
  8522.       disk space and that all other applications and windows are closed. 
  8523.       Failure to do this can result in frequent ``Out of memory'' 
  8524.       errors. Windows' virtual memory is much slower than the VM built 
  8525.       into TN-Image. Hence, there is no particular advantage to running 
  8526.       TN-Image under Windows. Also, as with all applications, speed 
  8527.       under Windows will be markedly slower than in DOS.
  8528.         
  8529.       A peculiarity of Windows is that if you have the wrong mouse
  8530.       driver installed in Windows, you can lose control of the mouse when
  8531.       you run a mouse-based DOS program such as TN-Image. If this
  8532.       happens, run the ``setup'' program in Windows to ensure  that
  8533.       Windows is set up to use the mouse driver that is appropriate for
  8534.       your mouse. For example, if you have a Logitech mouse, using the
  8535.       Microsoft mouse driver may cause the mouse to become immobilized
  8536.       when you return from TN-Image.  Because Windows uses a different 
  8537.       mouse driver from DOS, the mouse  may work under Windows but not 
  8538.       in a DOS box. If the mouse doesn't work right when running under 
  8539.       Windows, you almost certainly need a new (or different) mouse driver. 
  8540.       An alternative approach which sometimes works for some reason is to 
  8541.       change Windows from its default VGA screen mode to a 256 color mode. 
  8542.       Many of these problems have been fixed in Windows 95.
  8543.        
  8544.       Windows 3.1 also has an ``unexpected feature'' of sometimes not 
  8545.       redrawing its own screen when returning from DOS graphics programs 
  8546.       such as TN-Image. One solution is to ``minimize'' the Windows screen 
  8547.       after returning from TN-Image and then immediately ``Restore'' it. This 
  8548.       forces Windows to redraw its screen.
  8549.  
  8550.       Computers with ATI Mach 32 cards have problems running TN-Image 
  8551.       in true-color mode from within a DOS box. In this case, the only 
  8552.       solution is to run TN-Image from DOS, or use TN-Image in an 8 bit/pixel 
  8553.       mode (e.g., mode 103). (See ``Command-line options'' above). Mach 64
  8554.       cards are a little better (they can handle 16 bit/pixel modes, but
  8555.       still can't handle 24 bit modes in a DOS box). Most other cards have 
  8556.       no problems.
  8557.  
  8558.       For both OS/2 and Windows, TN-Image must be run in ``full screen'' mode.
  8559.       For OS/2, it may be necessary to change the DOS box parameters to
  8560.       get TN-Image to run properly.  TN-Image may not run on all
  8561.       OS/2 configurations, because it needs to access the hardware.
  8562.  
  8563. \bf  Note: \it No technical support is available for TN-Image 
  8564.      running under OS/2.
  8565.       
  8566. \bf   NOTE:
  8567. \rm   In a Windows DOS box, the virtual memory manager in TN-Image 
  8568.       sometimes gets confused if Windows is set up for a small amount 
  8569.       of virtual memory.  This causes the ``Free Memory'' display to be 
  8570.       incorrect, and more importantly, allows you to completely fill up 
  8571.       memory with images, making it impossible to use the menus. If this
  8572.       happens, you can still erase an image by clicking on the image you
  8573.       want to erase and pressing Alt-E.  We are trying to find a better
  8574.       solution for this problem. In the meantime, it is recommended that
  8575.       Window's virtual memory be set to a size greater than the amount
  8576.       of RAM in your computer.
  8577.       
  8578.       
  8579.  
  8580. \vfill\eject
  8581. \bigskip\hrule\bigskip
  8582. \bbc { 10.0.0  Changing Computers  }
  8583. \bigskip
  8584. \hrule\bigskip
  8585. \rm
  8586.      If you experience problems after moving TN-Image to a different 
  8587.      computer, or after changing video cards, erase the file TNIMAGE.INI. 
  8588.      This file contains TN-Image's video mode selection, and may inhibit 
  8589.      automatic detection of the video chip in your new computer. TN-Image 
  8590.      will revise the file automatically if it detects an incompatibility.
  8591.  
  8592.  
  8593. \bigskip\hrule\bigskip
  8594. \bbc { 11.0.0  Problems }
  8595. \bigskip
  8596. \hrule\bigskip
  8597. \rm
  8598.  
  8599.  
  8600. \medskip\it     Problem: \rm Strange colors on screen or TN-Image only using top 1/12 
  8601.      or 1/7 of the screen.
  8602.      
  8603. \medskip\it     Solution: \rm Some other Super VGA programs and communication programs
  8604.      (such as some versions of Carbon Copy) contain an ``unexpected
  8605.      feature'' that results in the computer being left in a state that
  8606.      prevents proper functioning of TN-Image with certain video cards.
  8607.      The DOS shell program 1Dirplus and one HPLC data-acquisition
  8608.      program also have a similar feature which can interfere with the
  8609.      colormap registers. If TN-Image suddenly begins to run incorrectly
  8610.      after running one of these programs, reboot your computer and
  8611.      start TN-Image again. This can also occur when running TN-Image 
  8612.      as a DOS box in OS/2. Change the DOS box parameters to correct 
  8613.      the problem.
  8614.      
  8615. \medskip\it     Problem:  \rm Entire screen compressed into upper 1/7 of the screen.
  8616.      
  8617. \medskip\it    Solution: \rm (1) Try starting TN-Image with the command line: 
  8618.  
  8619. \tt          TNIMAGE -OLDVESA
  8620.  
  8621. \rm     (2) If that doesn't work, you probably are using an outdated VESA
  8622.      VBE TSR (Terminate-and-stay-resident program). Obtain a new version 
  8623.      from the video card manufacturer. Note that most new video cards 
  8624.      already have VESA BIOS built in, and don't need a TSR. Try running 
  8625.      TN-Image without it. If nothing works, contact the author for 
  8626.      assistance.
  8627.      
  8628.  
  8629.      
  8630. \medskip\it     Problem: \rm Lower part of screen flickering (upper 2/3 of screen is
  8631.      okay, lower 1/3 is ``snow'' or ``static''.
  8632.  
  8633. \medskip\it     Solution: \rm This occurs when the video card reports to TN-Image that 
  8634.      it is OK to set the specified high-resolution screen mode, but in 
  8635.      fact the card has insufficient video RAM to handle it. This will
  8636.      occur on certain Cirrus-based cards. To solve the problem, it is
  8637.      necessary to install additional memory in your video card. Using
  8638.      TN-Image when this problem occurs could result in a system crash.
  8639.  
  8640.      
  8641. \medskip\it     Problem:  \rm Screen is completely white.
  8642.      
  8643. \medskip\it     Solution:  \rm This occurs when using one of the ``experimental'' Tseng
  8644.      modes, if the video card is unable to handle the specified screen
  8645.      mode. Press Alt-X two or three times to return to DOS, then use
  8646.      the ``mode'' command line option to run TN-Image in a different 
  8647.      resolution.
  8648.  
  8649.  
  8650. \medskip\it     Problem: \rm  Multiple copies of Menu Bar.
  8651.      
  8652.      Solution: \rm  This is usually caused by an old video card with VESA 
  8653.      1.0 BIOS. Start TN-Image again using the command line:
  8654.  
  8655. \tt                         TNIMAGE -OLDVESA
  8656.  
  8657. \rm     This can also happen if the \tt UNIVBE \rm TSR is present.
  8658.      \tt UNIVBE \rm must be removed in this case.
  8659.      
  8660.      
  8661. \medskip\it     Problem: \rm  Printer prints part of image, then gives an 
  8662.      error message
  8663.      or goes into a ``form feeding frenzy''.
  8664.      
  8665. \medskip\it       Solution: \rm   This can occur on laser printers 
  8666.      if your printer has 
  8667.      insufficient internal memory to handle the image. You will have 
  8668.      to install additional printer memory, print a smaller image or
  8669.      print at a lower resolution or dither size. Generally, ˜4 MB is 
  8670.      required to print a 8x10 inch page in black-and-white at 600 dpi. 
  8671.      Color printing requires 3 or 4 times as much. Unfortunately, there 
  8672.      is no way for TN-Image to test how much memory the printer has. For 
  8673.      some reason, printer manufacturers have also made it impossible 
  8674.      to print an image in small segments. This problem does not occur 
  8675.      on inkjet printers.
  8676.  
  8677.          This will also occur if printing is attempted on a dot-matrix
  8678.      printer.
  8679.  
  8680.  
  8681. \medskip\it      Problem: \rm Mouse gets ``lost'' when running TN-Image 
  8682.      from a Windows DOS box.
  8683.  
  8684. \it     Solution:  \rm This occurs with some Microsoft and possibly other 
  8685.      mouse drivers. Exit Windows, and replace your mouse driver with a newer 
  8686.      version or with a Logitech mouse driver. Then use Windows' Setup 
  8687.      program to change to the new mouse. Alternatively, use Windows' 
  8688.      Setup program to change Windows' screen display to 256 colors
  8689.      (It's not known why this helps). These problems have not been observed
  8690.      in Windows 95.
  8691.  
  8692.  
  8693. \medskip\it     Problem: \rm Screen is not restored correctly after running TN-Image 
  8694.      from a Windows DOS box.
  8695.      
  8696. \medskip\it     Solution:  \rm Install a different video driver in Windows using 
  8697.      Windows' Setup utility. 
  8698.      
  8699.  
  8700. \medskip\it     Problem: \rm Mouse jumps around on the screen, or exhibits jerky
  8701.      movement as if trapped in a grid. 
  8702.      
  8703. \medskip\it     Solution:  \rm Obtain a new mouse driver. This can usually be obtained
  8704.      from a bulletin board or ftp site operated by the mouse manufacturer.
  8705.      Alternatively, Logitech mouse drivers can work on many mice. Older
  8706.      mouse drivers often have trouble in SVGA modes. Microsoft mouse
  8707.      drivers are particularly prone to these sorts of troubles. Some 
  8708.      old SVGA cards, such as Realtek video cards, create difficulties
  8709.      with the mouse, making it possible to reach only x and y coordinates
  8710.      that are divisible by 4. In this case, the video card must be 
  8711.      replaced.
  8712.      
  8713.  
  8714.  
  8715.  
  8716. \medskip\it     Problem: \rm Screen is garbage when running TN-Image from a Windows
  8717.      DOS box, even though there is lot of video RAM.
  8718.   
  8719. \medskip\it     Solution: \rm This is a problem in computers with ATI video cards in
  8720.      Windows for Work Groups for some screen resolution modes.
  8721.      Run TN-Image at a lower color depth by changing the ``Command Line'' 
  8722.      entry in Windows' ``Properties'' menu to:
  8723.  
  8724. \tt                  C:$\backslash$TNIMAGE$\backslash$TNIMAGE.PIF -mode 103  
  8725.  
  8726. \rm     Alternatively, run TN-Image from DOS.
  8727.  
  8728.  
  8729.  
  8730. \medskip\it     Problem: \rm Unusual behavior or display colors immediately after 
  8731.      upgrading from a previous version of TN-Image.
  8732.      
  8733. \medskip\it     Solution: \rm Delete the configuration file ``tnimage.ini''.
  8734.  
  8735.  
  8736.  
  8737. \medskip\it     Problem:  \rm Colors appear posterized.
  8738.      
  8739. \medskip\it     Solution:  \rm This will happen on 8-bit displays if other 
  8740.      applications (such as Web browsers or certain window managers) allocate a 
  8741.      lot of colors, This can also happen after using certain other image
  8742.      viewing programs, particularly if they crash and fail to release their
  8743.      allocated colors. If closing other applications or restarting the X server
  8744.      doesn't help, try starting the X server in 16- or 24-bit mode. If this is
  8745.      not possible, it may be necessary to switch to a different window manager.
  8746.  
  8747.  
  8748. \medskip\it     Problem: \rm Operations such as inverting colors, etc. on the main
  8749.      window give a solid color instead of the expected inverted text.
  8750.      
  8751. \medskip\it     Solution: \rm This occurs when foreground and background colors
  8752.      are adjacent numerically (e.g., 40 and 41) but their actual colors (determined
  8753.      by the colormap) are different. Inverting the colors makes the color values 
  8754.      215 and 214, which map to similar colors. Change the foreground or 
  8755.      background color to something else.
  8756.  
  8757.  
  8758.  
  8759. \medskip\it     Problem: \rm Message ``Invalid image file'' appears after transferring
  8760.      an image file from a Unix or mainframe system.
  8761.  
  8762. \medskip\it     Solution:  \rm The most common cause of this problem is the failure to
  8763.      use ``binary'' mode when sending the image file over the network.
  8764.      If you are using Kermit, give the command
  8765.  
  8766. \tt                    set file type binary
  8767.  
  8768. \rm     before getting the image. If you are using ftp, give the command
  8769.  
  8770. \tt                     binary
  8771.  
  8772. \rm     before getting the image. It is very difficult to fix an image file 
  8773.      that has been corrupted by sending it in text mode.
  8774.  
  8775.  
  8776.  
  8777. \medskip\it     Problem: \rm Loading or processing of images is slow.
  8778.      
  8779. \medskip\it     Solutions:  \rm  (1) Speed can be greatly increased by starting TN-Image in 
  8780.      a screen mode that has the same color depth as the images. Analyzing
  8781.      24-bit color images in 8-bit mode, for example, will be slow because
  8782.      the entire image projected to the screen has to be re-palettized every 
  8783.      time any operation changes one or more pixels.
  8784.  
  8785.          (2). If your hard disk light goes on during an image processing
  8786.      operation, this means TN-Image is paging out to disk. This can be 
  8787.      reduced by installing more memory in your computer.
  8788.  
  8789.          (3). Speed can be approximately doubled by running TN-Image
  8790.      from DOS instead of in Windows, or by removing any expanded memory 
  8791.      managers such as 386 Max or (especially) EMM386, which slows down math
  8792.      operations by over 50\%. 
  8793.  
  8794.  
  8795. \medskip\it     Problem: \rm Colormap rotation in startup screen is slow or jerky.
  8796.      
  8797. \medskip\it     Solution: \rm If you are running the Unix version, this can happen if
  8798.      another copy of tnimage is running, or if the mouse is moved
  8799.      suddenly during startup. In the DOS version, this is usually 
  8800.      caused by a slow video card.
  8801.      
  8802.  
  8803.      
  8804. \medskip\it     Problem: \rm  ``Insufficient memory'' message occurs even though 
  8805.    ``About the program...'' indicates there should be enough memory.
  8806.  
  8807. \medskip\it     Solution: \rm Turn ``Automatic undo'' option off. This will cut the storage
  8808.      requirements in half. Also, a certain amount of memory is also 
  8809.      reserved by TN-Image for dialog boxes, etc. and is unavailable.
  8810.      If this happens in Windows, you must increase the ``Virtual Memory''
  8811.      setting in Windows (``Control panel..386 Enhanced..Virtual memory.)''.
  8812.  
  8813.  
  8814. \medskip\it     Problem: \rm Video card won't go into desired screen mode, even though 
  8815.      video card manual states that mode is supported.
  8816.           
  8817. \medskip\it     Solution: \rm (1) If ATI card: Run ATI's ``Install'' program again to verify
  8818.      the specified video mode is activated. (2) Run TN-Image's diagnostics
  8819.      by typing:   tnimage -diag  to determine the problem, which is usually
  8820.      caused by insufficient RAM or a monitor limitation.
  8821.      (3) Another possibility is that the computer was turned on before
  8822.      turning on the power to the monitor. Some video cards only examine
  8823.      the monitor type at power-up, will become confused if the monitor
  8824.      is off during a cold boot-up, and refuse to set high-resolution modes. 
  8825.      
  8826.  
  8827.  
  8828. \medskip\it     Problem:  \rm Monitor makes a buzzing sound and fails to sync on startup
  8829.      (causing jagged diagonal lines on the screen).
  8830.      
  8831. \medskip\it     Solution: \rm Turn the monitor off immediately and press Alt-X several 
  8832.      times to stop the program. Restart TN-Image using a lower screen mode.
  8833.      This problem could occur if your video card reports that it is safe to 
  8834.      set a given screen mode when in fact it is not safe. Only one card has 
  8835.      been found so far that does this, when setting a 1280x1024 resolution
  8836.      mode.  Prolonged operation in this condition could harm your monitor.
  8837.      
  8838.  
  8839.     
  8840. \medskip\it     Problem: \rm A grayscale image appears completely black or white.
  8841.      
  8842. \medskip\it     Solution: \rm This is usually caused by the automatic grayscale mapping
  8843.      feature misinterpreting the upper and lower gray levels of your image.
  8844.      If the image is being read as ``raw bytes'', make sure you have selected 
  8845.      the correct number of bits/pixel, x size and y size. If the y size
  8846.      you entered is too large, TN-Image may read beyond the end of the 
  8847.      image and incorrectly estimate the maximum and minimum levels.
  8848.      To correct this, select ``Color...Set colormap...Grayscale mapping''
  8849.      and change the maximum and minimum values to correspond to those in
  8850.      the image. (For example, if the image is known to be 12 bits deep,
  8851.      the maximum should be approximately ${2^{12}}$ or 4096.)
  8852.  
  8853.  
  8854.      
  8855.  
  8856. \medskip\it     Problem: \rm ``Mouse required'' message occurs when starting TN-Image, 
  8857.      even though Windows runs OK with the mouse. 
  8858.      
  8859. \medskip\it     Solution: \rm Windows has its own separate mouse driver. It is still 
  8860.      necessary to load a mouse driver for DOS applications. Run the 
  8861.      program ``mouse.com'' that came with your mouse.
  8862.      
  8863.  
  8864.  
  8865. \medskip\it     Problem: \rm When typing text on the screen, it comes out in the wrong
  8866.      color. 
  8867.      
  8868. \medskip\it     Solution:  \rm The available colors are determined by the color depth,
  8869.      the gray scale mapping parameters and colormap (if present) of the 
  8870.      image you are typing on. For example, if an 8-bit image with a
  8871.      particular colormap is loaded, you can only add colors that exist
  8872.      in that colormap, even if TN-Image is in a 24-bit color mode. This
  8873.      prevents you from accidentally adding a color which is impossible
  8874.      to save with the image. If all else fails, press Alt-R to rebuild
  8875.      the screen display.
  8876.  
  8877.  
  8878.     
  8879. \medskip\it     Problem:  \rm The message ``Converting from 24 to 8 bits/pixel'' stays on
  8880.      the screen for a long time.
  8881.      
  8882. \medskip\it     Solution: \rm  Select ``Color...Color settings'' and make sure ``Color reduction
  8883.      method'' is set to ``Quantization'' and not ``Fit current colormap'' which
  8884.      can be slow.
  8885.     
  8886.  
  8887. \medskip\it     Problem:  \rm When reading color images, the colors are wrong, or it takes
  8888.      a long time.
  8889.  
  8890. \medskip\it     Solution: \rm  Select ``Color...Color settings'' and make sure ``Color reduction
  8891.      method'' is set to ``Quantization'' and not ``Fit current colormap'' which
  8892.      may give incorrect colors.
  8893.  
  8894.     
  8895. \medskip\it     Problem:  \rm After reading a GIF file or a color image, subsequent images
  8896.      in other formats appear to be ``garbage''.
  8897.      
  8898. \medskip\it     Solution: \rm  This only occurs in 8-bit/pixel screen modes. When an image 
  8899.      that does not have its own colormap is loaded, the colormap is not
  8900.      automatically changed. If the current colormap is discontinuous, the 
  8901.      new image may appear to contain garbage (of course, it is not really 
  8902.      garbage). Simply click anywhere on the background, or use the ``Change 
  8903.      colormap'' menu option to change to a continuous colormap.
  8904.     
  8905.     
  8906. \medskip\it     Problem: \rm   Medical grayscale images appear grainy or posterized; or 
  8907.      appear as strange shades of blue instead of gray.
  8908.      
  8909. \medskip\it     Solution: \rm The wrong target platform may have been selected. Select
  8910.      ``File...Create custom format'' and change the ``Target platform'' and/or
  8911.      ``Bytes to skip'' for the specified format until a smooth image is 
  8912.      obtained. 
  8913.  
  8914.        If you are using the Shareware version, you will need to read the
  8915.      image as a ``raw'' file and tweak the image parameters manually.
  8916.     
  8917.  
  8918. \medskip\it     Problem: \rm  Deconvolution result is completely black, completely white,
  8919.      or garbage. 
  8920.      
  8921. \medskip\it     Solution: \rm  This can be caused by (a) using an inappropriate point 
  8922.      spread function, (b) using a point spread function that has zero or
  8923.      near-zero intensities at one or more frequencies, or (c) wrap-around
  8924.      effects. Sometimes, adding noise to the point spread function will
  8925.      increase the intensity at the missing frequencies and solve the problem.
  8926.      Alternatively, try a less ambitious point spread function. Try dumping
  8927.      the FFT data to disk and reading it with a text editor. If the numbers
  8928.      are all ``-nan'' 's, this is a sign that the intensities were too low
  8929.      and a different psf must be used. Some images simply don't work well
  8930.      with deconvolution.
  8931.     
  8932.  
  8933. \medskip\it     Problem:  \rm Spots floating across screen, or jagged flickering lines.
  8934.      
  8935. \medskip\it     Solution: \rm  You are working too hard, go lie down.
  8936.      
  8937.  
  8938.     
  8939. \medskip\it     Problem: \rm  ``Fill Region'' was selected, but nothing happened when mouse
  8940.      was clicked on the region to fill.
  8941.      
  8942. \medskip\it     Solution: \rm  Make sure the area being filled is darker (lower intensity
  8943.      value) than \it both \rm the Max. Border Color and the Min. Border Color.
  8944.      Filling will stop whenever any color between these two values is
  8945.      encountered.
  8946.  
  8947.  
  8948.      
  8949. \medskip\it     Problem: \rm  Mouse cursor moving by itself.
  8950.      
  8951. \medskip\it     Solution: \rm  Make sure mouse is on a level surface.
  8952.  
  8953.  
  8954.  
  8955. \medskip\it     Problem:  \rm ``out-of-memory'' problems running TN-Image in a Windows DOS box.
  8956.      
  8957. \medskip\it     Solution: \rm   This is usually caused by an incorrect setting in
  8958.      your virtual memory. Try the following procedure to fix it:
  8959. \item{1.}  Click on Windows Control Panel
  8960. \item{2.} Click on ``386 Enhanced''
  8961. \item{3.} Click on ``Virtual Memory''
  8962. \item{4.} If the size of the Virtual memory is less than the amount of
  8963.             RAM in your computer, problems may occur. Change the amount of
  8964.             Virtual Memory to the maximum recommended by Windows; or exit
  8965.             Windows and run TN-Image from DOS.
  8966.     
  8967.     
  8968.      
  8969.  
  8970. \medskip\it     Problem:  \rm M-x psychiatrist doesn't work.
  8971.      
  8972. \medskip\it     Solution: \rm  You must be thinking of some other program.
  8973.  
  8974.  
  8975. \vfill\eject
  8976. \bigskip\hrule\bigskip
  8977. \bbc { 12.0.0  Limitations and known bugs }
  8978. \bigskip
  8979. \hrule\bigskip
  8980. \rm
  8981.  
  8982.      In the Unix version, the width or height of the viewable area cannot 
  8983.      be made larger than the width or height of the screen. Color sharing with
  8984.      other applications could also be friendlier in the Unix version. 
  8985.  
  8986. \vskip 0.1 in   
  8987.      When an FFT is present, it is impossible to flip the image.
  8988.  
  8989. \vskip 0.1 in
  8990.      When selecting a line or an area (e.g. for copying), the drag box cannot 
  8991.      leave the image in which it was started. To include parts of two images 
  8992.      or an image and background, it is necessary to start in the main 
  8993.      (background) window.
  8994.  
  8995. \vskip 0.1 in
  8996.      Chinese, Japanese, Arabic, and Hebrew fonts are still not handled correctly
  8997.      in Linux.
  8998.  
  8999. \vskip 0.1 in
  9000.      In mwm (Motif Window Manager), the arrow keys do not move the image the
  9001.      correct distance for independent windows.
  9002.  
  9003. \vskip 0.1 in
  9004.      It is necessary to quit and restart the program to get the menu bar to 
  9005.      wrap around onto multiple lines when the main window is made smaller than 
  9006.      the menu bar width in fvwm and olwm.
  9007.  
  9008. \vskip 0.1 in
  9009.      In fvwm, if an image in a separate window has scrollbars, the ``copy'' and
  9010.      ``move'' functions don't work on the main window.
  9011.  
  9012. \vskip 0.1 in
  9013.      Focus does not return to the previous window after the program exits.
  9014.      This appears to be the case for most Motif applications.
  9015.  
  9016. \vskip 0.1 in
  9017.      Densitometry does not work correctly on a Fourier-transformed image.
  9018.  
  9019. \vskip 0.1 in
  9020.      Gradient fills need to be easier with true-color images.
  9021.  
  9022. \vskip 0.1 in
  9023.      Plugins do not work in Solaris or ConvexOS. Feedback on this problem 
  9024.      from Solaris programmers will be appreciated.
  9025.  
  9026. \vskip 0.1 in
  9027.      It is impossible to select an area while a 3D image is being played
  9028.      as a ``movie''.
  9029.  
  9030. \vfill\eject
  9031. \bigskip\hrule\bigskip
  9032. \bbc { 13.0.0  Error messages  }
  9033. \bigskip
  9034. \hrule\bigskip
  9035. \rm
  9036.  
  9037.  
  9038.      All versions
  9039.  
  9040.      ------------
  9041.  
  9042. \medskip\bf
  9043.      Insufficient conventional memory to run program
  9044.  
  9045.      Insufficient extended memory to run program
  9046.               
  9047. \rm              These errors usually mean an extended memory manager is
  9048.               required but not present. The simplest solution is to find
  9049.               the file HIMEM.SYS (which comes with DOS) and install it
  9050.               in your CONFIG.SYS file, e.g., add the line
  9051.                       
  9052. \tt                          C:$\backslash$DOS$\backslash$HIMEM.SYS
  9053.  
  9054. \rm              to CONFIG.SYS (make sure HIMEM.SYS is in the DOS 
  9055.               directory before doing this).   
  9056.  
  9057.               Also, check to see if you have an expanded memory
  9058.               manager installed. These programs sometimes block access
  9059.               to portions of video memory or high memory.        
  9060.  
  9061. \medskip\bf
  9062.      Not enough memory
  9063.      
  9064. \rm              Insufficient memory to perform the requested action (see
  9065.              ``Operating under low-memory conditions'' above). This message 
  9066.              should not occur in the Registered version of TN-Image, 
  9067.              unless there is insufficient disk space.      
  9068.  
  9069. \medskip\bf         
  9070.      Insufficient memory to convert to 8 bits/pixel             
  9071.      
  9072. \rm              A color map table could not be generated for the image. When
  9073.              this happens, the image cannot be converted to the screen 
  9074.              resolution, leaving ``garbage'' on the screen.  Try changing 
  9075.              `color reduction method' to ``fit current colormap''. This 
  9076.              method uses less memory. Alternatively, start TN-Image in a
  9077.              color mode and try again. This message should not occur in
  9078.              the Registered version of TN-Image, unless there is insufficient
  9079.              disk space.
  9080.  
  9081. \medskip\bf     Internal error [...]
  9082.      
  9083. \rm              Contact author for assistance, specifying the exact message
  9084.              and the circumstances under which it occurred.
  9085.      
  9086. \medskip\bf     Can't compact free space
  9087.  
  9088. \rm              This can occur when you try to unload an extremely large image.
  9089.              The only consequence is that the maximum amount of free
  9090.              memory could not be recovered. Usually, erasing the image
  9091.              again will free up the space.
  9092.  
  9093.  
  9094. \medskip\bf     Too many images
  9095.      
  9096. \rm              The limit of 512 images (or 2 images for the Shareware version)
  9097.              was exceeded while attempting to read an image from disk 
  9098.              or create a new image. Don't forget that a new image is also
  9099.              created when you try to rotate or resize an image or carry out
  9100.              an FFT.
  9101.              
  9102. \medskip\bf     Image was not backed up
  9103.      
  9104. \rm              This only occurs when you select ``Restore'' when
  9105.              the ``Auto undo buffer'' option was un-checked, so that new
  9106.              images were not automatically backed up. Although un-checking
  9107.              `auto undo buffer' creates more free memory, it means that it
  9108.              will be impossible to undo any changes by selecting ``restore''.
  9109.  
  9110. \medskip\bf    Function not available in shareware version
  9111.       
  9112. \rm              The function is only available in the Registered version of
  9113.              the program. 
  9114.  
  9115. \medskip\bf     Function not available
  9116.      
  9117. \rm              The function has not yet been implemented. Contact the author
  9118.              for availability dates.
  9119.  
  9120. \medskip\bf     Error - mixed expand and shrink operations
  9121.        
  9122. \rm              You cannot shrink an image in one dimension and enlarge it
  9123.              in another simultaneously, it must be done in two passes.
  9124.  
  9125. \medskip\bf     Error: Bad OD table, Turn pixel compensation off
  9126.      
  9127. \rm              Densitometry could not be performed because part or all of 
  9128.              the selected region was on an image whose O.D. table mapped
  9129.              two or more pixel intensity values to the same O.D. You must
  9130.              either repair the OD table, or select ``No pixel compensation''.
  9131.  
  9132. \medskip\bf    Bad scan parameters
  9133.  
  9134. \rm              This occurs if the starting and ending points of your
  9135.              densitometry scan are the same, or if the region could 
  9136.              not be scanned for some reason. Select the region again. 
  9137.  
  9138.              
  9139. \medskip\bf     Can't create file!
  9140.       
  9141. \rm              An invalid file name was specified, or the filename was the
  9142.              same as some existing file that DOS has marked as ``read-only'',
  9143.              or a ``directory''.
  9144.  
  9145. \medskip\bf     Can't find file!
  9146.      
  9147. \rm              The specified filename does not exist, or is marked by
  9148.              the operating system as ``hidden''. Use a utility such as
  9149.              NSHELL to un-hide the file.
  9150.              
  9151. \medskip\bf     Only the 1st image in your file will be displayed
  9152.       
  9153. \rm              Your TIFF file contains more than one image. 
  9154.              
  9155. \medskip\bf     Sorry, can't read xxx compressed TIF images
  9156.  
  9157. \rm              TIF files are sometimes compressed using a weird form of
  9158.               compression not supported by TN-Image.
  9159.               
  9160. \medskip\bf  Not a valid TIF file
  9161.        
  9162. \rm              The TIFF file is corrupted and unreadable, or is an unusual
  9163.              non-standard TIF format.
  9164.  
  9165. \medskip\bf     Warning: File transfer aborted
  9166.        
  9167. \rm              You aborted the operation of saving the image to a file by
  9168.              pressing \it ESC \rm or clicking on ``Cancel''; or, saving of the
  9169.              file was aborted by the program for some reason.
  9170.      
  9171. \medskip\bf     An error occurred
  9172.       
  9173. \rm              A ``Critical error'' occurred in connection with a file transfer.
  9174.              This normally leads to the message ``Abort, Retry, Ignore?''.
  9175.              This occurs if you try to save a file to a floppy drive that
  9176.              does not exist, does not have a disk in it, has an open
  9177.              door, etc. It can also happen if a problem is found with your
  9178.              disk. 
  9179.       
  9180. \medskip\bf     No images to save
  9181.  
  9182. \rm              You selected ''Save image'', but no images were currently loaded.
  9183.              
  9184. \medskip\bf    Printer not responding!
  9185.  
  9186.      Printer I/O error!
  9187.  
  9188.      Printer out of paper!
  9189.  
  9190.      lp0 on fire \rm (Unix only)    
  9191.         
  9192. \rm              The printer is off-line, powered off, on fire, or something.
  9193.  
  9194.  
  9195. \medskip\it     Problem:  \rm When printing a grayscale image in PostScript mode,
  9196.             changes in the contrast, brightness, or colormap are not reflected in 
  9197.             the printout.
  9198.      
  9199. \medskip\it    Solution: \rm Set ``Color type'' to RGB/indexed color instead of
  9200.             BW/grayscale.
  9201.              
  9202.  
  9203. \medskip\bf     Unable to read disk
  9204.       
  9205. \rm              The specified drive letter referred to a non-existent
  9206.              disk; or there was a disk drive failure. Occasionally,
  9207.              CD ROM drives will spuriously give this error.
  9208.              
  9209.  
  9210. \medskip\bf     Invalid GIF file
  9211.     
  9212.         Error decoding GIF file
  9213.  
  9214.         Unable to read GIF file
  9215.       
  9216. \rm              The GIF file is corrupted and unreadable. The most common
  9217.              reason for this is that, when you downloaded the file, you
  9218.              forgot to set the communications package to ``binary'' mode.
  9219.              For example, in ftp, before getting the file, type:
  9220.              
  9221. \tt                                  binary
  9222.                                   
  9223. \rm            In Kermit, before telling the remote Kermit to send the 
  9224.              file, type: 
  9225.  
  9226. \tt                                  set file type binary 
  9227.                                   
  9228. \rm             You may also need to make sure your local computer is set
  9229.              to ``binary'' mode. The command for this differs for each 
  9230.              communications package.
  9231.              
  9232.  
  9233. \medskip\bf     Number of colors doesn't add up
  9234.  
  9235.      Change the bits/pixel on a color
  9236.      or number of primary colors
  9237.                   
  9238. \rm              You have selected an incompatible combination of options.
  9239.              The number of primary colors must correspond to the number
  9240.              of colors which have non-zero bits/pixel. For example, if
  9241.              you select ``1'' as the number of primary colors, only one
  9242.              of the 4 entries (red, green, blue, or black) can have a
  9243.              non-zero number of bits. The rest must be 0.
  9244.              
  9245. \medskip\bf     RGB bits/pixel don't add up to total
  9246.  
  9247.      Change total bits/pixel or number of colors
  9248.      
  9249. \rm              You have selected an incompatible combination of options.
  9250.              The sum of the red, green, blue, and black bits to be used
  9251.              to save an image must be equal to the total bits/pixel
  9252.              selected. For example, if you select to save the image as
  9253.              17 bits/pixel, the red + blue + green + black bits must
  9254.              also total up to 17. 
  9255.              If you are reading a raw 8-bit monochrome image, the ``color
  9256.              type'' must be set to ``Gray Scale/Indexed''.
  9257.              
  9258.  
  9259. \medskip\bf     You must have only 1 primary color
  9260.      to save data as grayscale
  9261.  
  9262. \rm             You have selected an incompatible combination of options.
  9263.              If you want to save the image as ``Gray scale'' image data,
  9264.              you must also change the ``no. of primary colors'' to 1.
  9265.  
  9266. \medskip\bf     Non-standard image format - is this ok?
  9267.      
  9268. \rm              This means the file format selected is not standard, and
  9269.              some other programs may have difficulty reading the file
  9270.              that is created.
  9271.              
  9272.  
  9273. \medskip\bf     Not enough bits for CMYK
  9274.      
  9275. \rm              You must either select 32 bits/pixel mode, or ``other bpp''
  9276.              mode, in order to create a CMYK file. If you select ``other
  9277.              bpp'', you need to specify the number of bits to use for
  9278.              black as well as red, green, and blue.
  9279.              
  9280. \medskip\bf     You must select CMYK to use black bits
  9281.  
  9282. \rm              Setting a non-zero value for ``black bits/pixel'' is only
  9283.              allowed if you have also selected ``CMYK''.
  9284.  
  9285. \medskip\bf     Must have 4 colors for CMYK
  9286.  
  9287. \rm              If you selected ``other bpp'', you need to also select ``4''
  9288.              as the number of primary colors in order to create a CMYK file.
  9289.              
  9290. \medskip\bf     PCX files must be 8 bits/pixel
  9291.  
  9292. \rm              TN-Image can only create 8 bit/pixel PCX files. You must 
  9293.              convert your image to 8 bits/pixel before saving it as a 
  9294.              PCX file.
  9295.  
  9296.              
  9297. \medskip\bf     IMG files must be 1 or 8 bits/pixel
  9298.              
  9299. \rm              TN-Image can only create 1 or 8 bit/pixel IMG files. You must 
  9300.              convert your image to 8 bits/pixel before saving it as an
  9301.              IMG file, or select ``monochrome''.
  9302.              
  9303.              
  9304. \medskip\bf     File is an unsupported type of PCX file.
  9305.        
  9306. \rm              The PCX file had too many bit planes, or was not 1 or 8 
  9307.              bits/pixel.
  9308.  
  9309.   
  9310. \medskip\bf     No header file specified
  9311.      
  9312. \rm              This only occurs when ``Create custom file'' is selected.
  9313.              If you specify a non-zero number of header bytes to copy
  9314.              from a file, you must also specify a file name.
  9315.              
  9316. \medskip\bf     Specified header bytes exceeds length
  9317.      of header file
  9318.      
  9319. \rm             This only occurs when ``Create custom file'' is selected.
  9320.               You selected a number of bytes to copy into the header of
  9321.              a custom file format which exceeded the file size of the
  9322.              specified file.
  9323.              
  9324.              
  9325. \medskip\bf     Bad gradient parameters
  9326.      
  9327. \rm              One or more of the coordinates specified for a gradient fill,
  9328.              or one of the boundary colors, was bad. Reselect another 
  9329.              similar area and try again.
  9330.  
  9331. \medskip\bf     Invalid parameters,
  9332.      Setting kernel multiplier to 1
  9333.      
  9334. \rm              For some types of filtering, the kernel multiplier must be
  9335.              set to 1. TN-Image has done this automatically.
  9336.              
  9337.  
  9338. \medskip\bf     Kernel size is larger than selected area
  9339.      
  9340. \rm              The size of the kernel to be used for for filtering, multiplied
  9341.              by the kernel multiplier, is larger than the image. This
  9342.              would result in no filtering, so the filtering was stopped.
  9343.              You may have accidentally click-and-dragged a 1x1 area.
  9344.              Try re-selecting the area to filter again.
  9345.              
  9346. \medskip\bf     Bad scan parameters
  9347.      
  9348. \rm              A trapezoidal region selected for scanning happened to have
  9349.              an illegal combination of values. Select a slightly different
  9350.              region and try again.
  9351.              
  9352. \medskip\bf     Error converting image
  9353.       
  9354. \rm              Contact the author for assistance.
  9355.              
  9356. \medskip\bf     Too many peaks
  9357.      
  9358. \rm              The number of peaks exceeded the size of the list TN-Image
  9359.              allocated for them.  Contact the author to obtain an
  9360.              upgrade which can handle more peaks.
  9361.              
  9362. \medskip\bf     Can't find help file
  9363.      
  9364. \rm              The help file, TNIMAGE.HLP, was not in the starting directory.
  9365.                       
  9366.              
  9367. \medskip\bf     Bad regression order
  9368.       
  9369. \rm              This is usually caused by trying to draw a curve or calibrate
  9370.              an image using only one calibration or control point. At least
  9371.              3 control points must be selected.
  9372.              
  9373. \medskip\bf    No unique solution
  9374.  
  9375.               Division by zero
  9376.      
  9377.  \rm             These messages indicate that it was impossible to calibrate the
  9378.              image using the existing calibration points.  Calibrate the
  9379.              image again using slightly different control points.
  9380.              
  9381.      
  9382. \medskip\bf     Error: negative value in logarithm
  9383.      
  9384. \rm              When calibrating an image in logarithm mode, all calibration
  9385.              values must be positive.
  9386.                      
  9387.              
  9388.  \medskip\bf    You must select ``Other'' or ``Custom'' 
  9389.      to save an image with non-standard parameters
  9390.      
  9391. \rm              TN-Image detected a non-standard value entered for bits/pixel
  9392.              or number of colors. To protect against accidentally creating
  9393.              non-standard files, you must specifically check the ``Custom'' 
  9394.              file format or the ``Other'' bits/pixel selection.
  9395.              
  9396. \medskip\bf     Error: need two images to convolute
  9397.  
  9398. \rm              Convolution or deconvolution of images was selected, but 
  9399.              less than 2 images were present. 
  9400.                                   
  9401.                                  
  9402. \medskip\bf    nn Divisions by zero detected
  9403.      
  9404. \rm              During deconvolution of two images, if the frequency of the
  9405.              2nd image is zero at any point, division by zero occurs.
  9406.              If there are a large number of these, it usually means the 
  9407.              2nd image is not entirely appropriate to use for deconvolution.
  9408.              
  9409. \medskip\bf     Can't open list file
  9410.      
  9411. \rm              A file containing a list of images was expected, because of 
  9412.              the ``-FILES'' option, but either no file list name was given
  9413.              or it was an invalid file name.
  9414.  
  9415. \medskip\bf     Extension must be TGA for Targa format
  9416.       
  9417. \rm              Since there is no foolproof way to determine whether a file 
  9418.              is really in TGA format, TN-Image will classify any file with
  9419.              a TGA extension as a Targa file.  If you specified some other
  9420.              extension, the file would be unreadable. Thus, TN-Image does
  9421.              not allow you to save the file with any extension other than
  9422.              ``TGA''.
  9423.  
  9424. \medskip\bf     Unknown error - nothing was saved!
  9425.      
  9426. \rm              This message should not occur in normal use. Contact the 
  9427.              author for assistance.
  9428.              
  9429.  
  9430. \medskip\bf     Selected bit/pixel values will be ignored
  9431.      
  9432. \rm              Images are automatically converted to 24 bits/pixel before
  9433.              saving in JPEG format. Other values are illegal and are ignored.
  9434.              
  9435.      
  9436. \medskip\bf    Color information will be lost!
  9437.  
  9438.      You should convert image to 8 bits/pixel first
  9439.      
  9440. \rm              You are about to save a color image in a file format that does 
  9441.              not have color information. When loaded back, the new image 
  9442.              might not have the same colors as the original. Select ``Change 
  9443.              image depth'' and quantize the image first by converting it to
  9444.              1 byte per pixel.
  9445.     
  9446.     
  9447. \medskip\bf     Error: overlapping offsets
  9448.       
  9449. \rm              While creating a custom image format, you cannot set two or 
  9450.              more file offsets to overlap the same byte position. Each 
  9451.              offset occupies 2 bytes.            
  9452.              
  9453. \medskip\bf     Error: offset exceeds 1024
  9454.      
  9455. \rm              While creating a custom image format, you cannot set a file 
  9456.              offset to a number greater than 1024.
  9457.  
  9458. \medskip\bf     Macro terminated at line xxx
  9459.      
  9460.  \rm             A fatal error occurred while executing a macro. The macro 
  9461.              was terminated at the specified line. Commands following the
  9462.              offending line were not executed. A fatal error can include
  9463.              the following:
  9464.  
  9465.                   Out of memory
  9466.  
  9467.                   File not found
  9468.  
  9469.                   No images available for the operation
  9470.  
  9471.                   Can't create file
  9472.  
  9473.                   Critical error  (e.g., disk drive door open)
  9474.  
  9475.                   File was zero length (after creating an image file, the
  9476.                     resulting file was checked and found to be empty). 
  9477.  
  9478.  
  9479. \medskip\bf     DOS/Windows-specific error messages
  9480.  
  9481.      ------------------------------------
  9482.        
  9483.      Fatal error, DPMI host does not support 32 bit applications
  9484.  
  9485.      Fatal error, 80386 processor is required
  9486.  
  9487.      Fatal error Previously installed software is neither VCPI nor DPMI 
  9488.           compatible
  9489.  
  9490.      Fatal error allocating DOS memory
  9491.  
  9492.      16 bit code and data are too large
  9493.  
  9494.      Fatal error, insufficient conventional memory
  9495.  
  9496.      Cannot enable the A20 line, XMS memory manager required
  9497.  
  9498.      FATAL error, XMS memory corrupted
  9499.  
  9500.      16 bit code is too large
  9501.  
  9502.      DPMI failed to enter protected mode
  9503.  
  9504.      DPMI operating system error
  9505.       
  9506. \rm              One or more of these messages will occur if you do not have
  9507.               an 80386 or higher processor, or if some other program is
  9508.               providing DPMI services in a way that is incompatible with
  9509.               TN-Image.  This might occur if you are running some unusual
  9510.               type of memory manager or have an incompatible type of CPU
  9511.               chip. Certain hardware problems can also cause these 
  9512.               messages. Try booting from a floppy or removing memory
  9513.               managers from AUTOEXEC.BAT.
  9514.               
  9515.      
  9516. \medskip\bf     Fatal error reading disk
  9517.  
  9518.      FATAL error during virtual memory disk IO
  9519.  
  9520. \rm               These messages mean that something bad happened to your disk
  9521.               or to the swap file used for virtual memory. Try to free
  9522.               up more disk space and try again. This can also happen if
  9523.               you run TN-Image Registered version from a floppy, and
  9524.               then remove the floppy.
  9525.  
  9526.      
  9527. \medskip\bf     Mouse required  
  9528.      
  9529. \rm              No mouse driver was found.  Run the file ``MOUSE.COM''
  9530.              or ``MOUSE.EXE'' (a file that came with your mouse) and try 
  9531.              again.
  9532.  
  9533.  
  9534. \medskip\bf     VESA not present         
  9535.  
  9536.      VESA BIOS not found
  9537.             
  9538.  \rm             These messages mean that no VESA driver was found. This
  9539.              driver is a file that should come with your super VGA card,
  9540.              with a name like ``VESA.COM''. Install the VESA driver and try 
  9541.              again. This message will also occur if you do not have a super 
  9542.              VGA card.
  9543.       
  9544.  \medskip\bf    Can't set VESA mode
  9545.  
  9546.     Unsupported VESA mode
  9547.           
  9548.  \rm             These messages mean that even if you have a VESA-compatible
  9549.              card, it cannot handle the selected screen mode. See under
  9550.              ``Command line options'' above for instructions on setting other
  9551.              screen modes.
  9552.  
  9553. \medskip\bf    Unsafe/unable to set VESA mode     
  9554.     
  9555. \rm              Your monitor reported that it is unable to handle the 
  9556.              scan rate for the specified resolution, or the video card
  9557.              refused to set the video mode for some other reason.
  9558.  
  9559. \medskip\bf    Trident card not found
  9560.      
  9561. \rm              This only occurs if you specified ``Trident'' on the command
  9562.              line and no Trident card was present.
  9563.      
  9564. \medskip\bf     Unsafe to test for Tseng chip
  9565.      
  9566. \rm              This occurs if you specified ``Tseng'' and no Tseng Labs chip
  9567.              was found. Certain non-Tseng chips cause a system lock-up if
  9568.              you try to check for a Tseng mode, thus the program did not
  9569.              try to set the Tseng mode.
  9570.      
  9571.       
  9572. \medskip\bf     VGA mode set OK - Unrecognized SVGA chip
  9573.      
  9574. \rm              TN-Image found that you have a VGA card, but it is not
  9575.              VESA-compatible and not a Tseng or Trident card. Probably
  9576.             it is not capable of super VGA modes.
  9577.              
  9578. \medskip\bf     Can't open graphics device
  9579.      
  9580. \rm              No grapics card was found.
  9581.              
  9582. \medskip\bf     Unable to set video mode
  9583.      
  9584. \rm              You specified a video mode on the command line that is not
  9585.              supported. See ``Supported video modes'' above.
  9586.              
  9587. \medskip\bf     You either have insufficient video memory or an ET3000 chip
  9588.  
  9589.     You need 1MB of RAM and an ET4000 chip
  9590.     
  9591. \rm             A Tseng Labs card was detected, but it is either too old
  9592.              (ET3000 chips are not supported) or does not have enough
  9593.              video RAM. On most cards, it is a simple matter to
  9594.              purchase and install an additional video RAM chip.
  9595.  
  9596. \medskip\bf    Error: Monochrome chip
  9597.      
  9598. \rm              A monochrome Tseng Labs chip was found on your video card.
  9599.  
  9600.              You need to upgrade to a newer card.
  9601.  
  9602. \medskip\bf     Error: ET3000 chip
  9603.      
  9604. \rm              An ET3000 Tseng Labs chip was found on your video card.
  9605.              You need to upgrade to a newer card.
  9606.      
  9607. \medskip\bf    Error: S3 not currently supported, use VESA
  9608.  
  9609.      Error: ATI chip not supported, use VESA
  9610.     
  9611. \rm              The ``-S3'' and ``-ATI'' options for directly programming 
  9612.              these chips are not available yet.
  9613.  
  9614. \medskip\bf     **Warning: unusual value**
  9615.      
  9616. \rm              An unexpected value was obtained from the VESA BIOS in your
  9617.              video card. TN-Image may not function correctly.
  9618.  
  9619. \medskip\bf    Unsupported Tseng mode
  9620.      
  9621. \rm              A Tseng mode was specified which could not be set by your
  9622.              video card or is not supported by TN-Image.
  9623.              
  9624. \medskip\bf    Unsupported Trident mode
  9625.      
  9626. \rm              A Trident mode was specified which could not be set by your
  9627.              video card or is not supported by TN-Image.
  9628.  
  9629. \medskip\bf    Wrong switch setting on Trident video card
  9630.  
  9631.                Check your manual to ensure your card is configured correctly
  9632.      
  9633. \rm              A Trident card was detected, but was configured incorrectly.
  9634.              Please consult your video card manual or computer dealer.
  9635.              
  9636. \medskip\bf    Insufficient video memory in Trident card
  9637.  
  9638.               1MB video ram required
  9639.          
  9640. \rm              A Trident card was detected, but was found to have less 
  9641.              than 1 MB of video RAM. Take the card to your dealer to
  9642.              have additional RAM installed.
  9643.      
  9644. \medskip\bf   Unable to set video mode on Trident card
  9645.  
  9646.     (Error code=\%x)
  9647.      
  9648. \rm              A Trident card was detected, but the video mode could not
  9649.              be set for an unknown reason. Consult the author or your
  9650.              computer dealer.
  9651.              
  9652. \medskip\bf    Sorry, your type of SVGA card is not supported
  9653.      
  9654. \rm              TN-Image does not support your type of SVGA card; or, you
  9655.              did not load your VESA BIOS before running TN-Image. This
  9656.              is a file that should come with your super VGA card,
  9657.              with a name like ``VESA.COM''. Run this program and try again.
  9658.              This message may also occur if you do not have a super VGA 
  9659.              card.    
  9660.              
  9661. \medskip\bf    DPMI host can't lock error handling code!
  9662.  
  9663. \rm              The DOS protected mode interface supplier (i.e., Windows,
  9664.              386\^{}Max, etc) made an error.            
  9665.              The simplest solution is to find the file HIMEM.SYS 
  9666.              (which comes with DOS) and install it in your CONFIG.SYS
  9667.              file, e.g., add the line
  9668.  
  9669. \tt                          C:$\backslash$DOS$\backslash$HIMEM.SYS   .
  9670.  
  9671. \rm          Then, run the program from the DOS command line instead
  9672.              of within Windows.              
  9673.  
  9674.  
  9675. \medskip\bf
  9676.      UNIX-specific error messages
  9677.  
  9678.     ----------------------------
  9679.  
  9680. \rm     There are a huge number of these. Below are the most common.
  9681.  
  9682. \medskip\bf     Can't open display
  9683.              
  9684. \rm              X11 must be running. If running tnimage remotely, xdm must be
  9685.              running on the host machine. It is also necessary to have the 
  9686.              remote computer's name in your xhosts by typing the following
  9687.              local command:
  9688.              
  9689.              \tt xhost + \it Remote-system-name \rm
  9690.                            
  9691. \medskip\bf    
  9692.             fcolor 0 is already used by another application\par
  9693.             fcolor is now set to 39\par\par
  9694.  
  9695.             bcolor 35 is already used by another application\par
  9696.             bcolor is now set to 40
  9697.   
  9698. \medskip\rm The foreground and background drawing colors have been taken by 
  9699.            some other program and can't be used. They have been automatically
  9700.            remapped.
  9701.  
  9702.  
  9703.  
  9704. \medskip\bf     No visuals found
  9705.  
  9706.      No appropriate visual
  9707.  
  9708. \rm              X11 is running in an unsupported screen mode.
  9709.      
  9710.  
  9711. \medskip\bf    Error allocating size hints
  9712.  
  9713.      Error allocating class hint
  9714.  
  9715.      Error creating XTextProperty
  9716.  
  9717.      Error allocating Window manager hints
  9718.  
  9719.      XCreateImage failed
  9720.  
  9721.      error in dialogbox
  9722.  
  9723.      Segmentation fault
  9724.  
  9725.      Bus Error
  9726.      
  9727.      BadWindow
  9728.  
  9729. \rm  Please send a complete bug report to the author if any of these messages
  9730.      occur.     
  9731.      
  9732. \medskip\bf    Can't allocate colors
  9733.  
  9734. \rm  Another application may be using all the available colors; or another copy
  9735.      of xtnimage may be running. Try closing some applications.
  9736.  
  9737. \medskip\bf    virtual memory exceeded in new()
  9738.  
  9739. \rm The image appeared to be a valid image file but was actually junk and
  9740.     sent impossible coordinates to \tt tnimage\rm, causing it to crash.
  9741.     Please send me a copy of the offending image file so future versions can
  9742.     check for it.
  9743.     
  9744.  
  9745. \vfill\eject
  9746. \bigskip\hrule\bigskip
  9747. \bbb { 14.0.0  Trademark disclaimers and acknowledgements}
  9748. \bigskip
  9749. \hrule\bigskip
  9750. \rm
  9751.  
  9752.  
  9753.     Graphics Interchange format and GIF (SM) are service marks of 
  9754.     Compuserve Incorporated.             
  9755.     
  9756.     The JPEG reading/writing routines in this program utilize the work of 
  9757.     the Independent JPEG Group, which includes Tom Lane, Philip Gladstone, 
  9758.     Luis Ortiz, Jim Boucher, Lee Crocker, Julian Minguillon, George Phillips, 
  9759.     Davide Rossi, Ge' Weijers, and others.
  9760.     
  9761.     Windows and UNIX are trademarks of Microsoft Corporation and X/Open 
  9762.     Company, respectively.
  9763.  
  9764.     TIFF reading/writing routines are based on information provided 
  9765.     in the document ``TIFF Revision 6.0 Final Q June 3, 1992'' from Aldus 
  9766.     Corporation.    
  9767.     
  9768.     PostScript is a trademark of Adobe Systems, Inc.
  9769.     The PostScript writing routine is based on information provided in the
  9770.     document ``PostScript Language Reference Manual, 2nd Edition''
  9771.     from Adobe Systems Inc.
  9772.        
  9773.     Targa and Windows BMP reading/writing routines were adapted from the
  9774.     public domain work of James D. Murray, Anaheim, CA, USA.
  9775.     
  9776.     Thanks to Joe Huffman of FlashTek, Inc. for valuable advice in executing 
  9777.     real-mode calls in the x32VM Dos Extender used in the MS-DOS version of 
  9778.     this program. 
  9779.     
  9780.     Thanks to Dr. C. Segebade of the Bundesanstalt f\"ur Materialforschung und
  9781.     -pr\"ufing, Berlin, Germany for numerous criticisms and suggestions for new 
  9782.     features.
  9783.     
  9784.     The scanner interface was based on general information from the Linux 
  9785.     SCSI Programming HOWTO written by Heiko Eissfeldt heiko@colossus.escape.de 
  9786.     v1.4, 14 June 1995, and on information generously provided by Hewlett-Packard 
  9787.     Corp.  
  9788.  
  9789.     The GIF reading/writing routines are loosely based on 'savegif.c' by Roger T. 
  9790.     Stevens (12-31-91).
  9791.  
  9792.     This software was developed as an independent, unfunded project using
  9793.     privately-owned equipment, and has no association with the National 
  9794.     Institutes of Health (NIH) or the  National Institute of Neurological 
  9795.     Disorders and Stroke.
  9796.     
  9797.   
  9798.  
  9799. \vfill\eject
  9800. \bigskip\hrule\bigskip
  9801. \bbc { 15.0.0 Index }
  9802. \bigskip
  9803. \hrule\bigskip
  9804. \rm
  9805.  
  9806.  
  9807. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  9808. \bf Subject           &   Section  \cr
  9809.  --------             &  --------- \cr
  9810. \rm                   &            \cr
  9811. 2D Fourier Transform  &   8.3.11   \cr
  9812. 3D Images             &   8.1.1.5  \cr
  9813. 3D Image controls     &   8.3.13   \cr
  9814.                       &            \cr
  9815.  
  9816. about menu            &   8.6.0    \cr
  9817. about the file        &   8.6.2    \cr
  9818. about the image       &   8.6.3    \cr
  9819. about the program     &   8.6.1    \cr
  9820. acknowledgements      &   14.0.0   \cr
  9821. acquire               &   8.1.15   \cr
  9822. Adaptec               &   8.1.15   \cr
  9823. angle                 &   8.3.3.2  \cr
  9824. area measurements     &   8.3.5.1  \cr
  9825. area selection        &   6.3.0    \cr
  9826. arrow                 &   8.5.7    \cr
  9827. ATI                   &   7.2.0    \cr
  9828. attributes, image     &   8.2.12   \cr
  9829. automatic undo        &   8.7.8.1  \cr
  9830.                       &            \cr
  9831. B-spline curve        &   8.5.8.2  \cr
  9832. back up               &   8.2.10   \cr
  9833. background            &   7.4.0    \cr
  9834. background flatten    &   8.3.1.4  \cr
  9835. background subtract   &   8.3.1.3  \cr
  9836. background, erase     &   8.2.3    \cr
  9837. baseline              &   8.3.7    \cr
  9838. basic operation       &   7.4.0    \cr
  9839. Bezier curve          &   8.5.8.1  \cr
  9840. bits/pixel            &   6.1.0    \cr
  9841. bits/pixel            &   8.1.2    \cr
  9842. black and white printing & 8.1.3.1 \cr
  9843. BMP image files       &   6.1.0    \cr
  9844. border                &   8.5.13   \cr
  9845. box                   &   8.5.6    \cr
  9846. brightness            &   8.4.2    \cr
  9847. brightness            &   8.4.2.1  \cr
  9848. brightness            &   8.4.2.2  \cr
  9849. bug reports           &   3.2.0    \cr
  9850. bugs                  &   12.0.0   \cr
  9851.                       &            \cr
  9852. calibration           &   8.3.4    \cr
  9853. capture               &   8.3.7    \cr
  9854. change size           &   8.2.6    \cr
  9855. changing computers    &   10.0.0   \cr
  9856. changing title        &   8.1.4    \cr
  9857. Chinese               &   7.1.2    \cr
  9858. Chinese               &   8.1.1    \cr
  9859. circle                &   8.5.5    \cr
  9860. CMY, printing         &   8.1.3.2  \cr
  9861. CMYK                  &   8.1.1    \cr
  9862. CMYK                  &   8.1.2    \cr
  9863. CMYK, printing        &   8.1.3.2  \cr
  9864. color adjustment      &   8.4.2    \cr
  9865. color, command line   &   7.1.1    \cr
  9866. color depth           &   8.4.7    \cr
  9867. color menu            &   8.4.0    \cr
  9868. color printing        &   8.1.3.2  \cr
  9869. color reduction       &   8.4.7    \cr
  9870. color reduction       &   8.7.8.4  \cr
  9871. color settings        &   8.7.8.4  \cr
  9872. color, setting        &   8.5.1    \cr
  9873. color to gray scale   &   8.4.8    \cr
  9874. colormap, see colormap &            \cr
  9875. colors, inverting     &   8.4.6    \cr
  9876. colors, remapping     &   8.4.5    \cr
  9877. command line options  &   7.1.0    \cr
  9878. command line options,Unix & 7.1.1  \cr
  9879. commonly asked questions  & 7.6.0  \cr
  9880. composite image       &   8.4.13   \cr
  9881. Compuserve            &   0.0.0    \cr
  9882. Compuserve            &   14.0.0   \cr
  9883. configure menu        &   8.7.0    \cr
  9884. confocal microscope   &  8.1.1.5 \cr
  9885. contents              &   1.1.0    \cr
  9886. contrast              &   8.4.3    \cr
  9887. contrast              &   8.4.3.1  \cr
  9888. contrast              &   8.4.3.2  \cr
  9889. converting color to gray scale   &   8.4.8    \cr
  9890. converting gray scale to color   &   8.4.9 \cr
  9891. convolution           &   8.3.11.1 \cr
  9892. copy                  &   8.2.5    \cr
  9893. copying chroma-keyed regions  &  8.2.4.1 \cr
  9894. crawl delay           &   8.7.8.6  \cr
  9895. crawl density         &   8.7.8.7  \cr
  9896. creating file format  &   8.1.8    \cr
  9897. creating image        &   8.1.6    \cr
  9898. crop                  &   8.2.2    \cr
  9899. CT images             &   8.1.1.1  \cr
  9900. cursor movement rate  &   8.7.8.3  \cr
  9901. curve                 &   8.5.8    \cr
  9902. curve                 &   8.5.8.1  \cr
  9903. curve                 &   8.5.8.2  \cr
  9904. custom format files   &   8.1.8    \cr
  9905.                       &            \cr
  9906. de-trending           &   8.3.1.4  \cr
  9907. DECONVO2.TIF          &   6.4.0    \cr
  9908. DECONVOL.TIF          &   6.4.0    \cr
  9909. deconvolution         &   8.3.11.2 \cr
  9910. deleting region       &   8.2.1 \cr
  9911. DENSITO2.TIF          &   6.4.0 \cr
  9912. DENSITOM.PCX          &   6.4.0 \cr
  9913. densitometry          &   8.3.5 \cr
  9914. densitometry          &   8.3.6 \cr
  9915. depletion             &   8.1.3.2 \cr
  9916. }
  9917. \vfill\eject
  9918. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  9919.  
  9920. depth                 &   8.4.7 \cr
  9921. Diamond               &   7.1.0 \cr
  9922. diffuse spray         &   8.5.12.2 \cr
  9923. diffuse spray factor  &   8.7.8.2 \cr
  9924. digital filtering     &   8.3.11.3 \cr
  9925. direction             &   8.5.7 \cr
  9926. disclaimers           &   14.0.0 \cr
  9927. disclaimers           &   3.0.0 \cr
  9928. display, command line &   7.1.1 \cr
  9929. display, problems with &  11.0.0 \cr
  9930. distance               &  8.3.3.1 \cr
  9931. dither, printing      &   8.1.3.1 \cr
  9932. DOS Command           &   8.1.12 \cr
  9933. draw menu             &   8.5.0 \cr
  9934.                       &      \cr
  9935. e-mail address        &   0.0.0  \cr 
  9936. edge detection        &   8.3.1.8 \cr
  9937. edge enhancement      &   8.3.1.6 \cr
  9938. edge enhancement      &   8.3.1.7 \cr
  9939. editing text files    &   7.8.0 \cr
  9940. equations             &   8.3.10 \cr
  9941. erase background      &   8.2.3 \cr
  9942. erasing image         &   8.1.11 \cr
  9943. error messages        &   13.0.0 \cr
  9944.                       &      \cr
  9945. features              &   8.9.0 \cr
  9946. FFT                   &   8.3.11 \cr
  9947. FFT, erasing          &   8.1.10 \cr
  9948. FFT, loading          &   8.1.14 \cr
  9949. FFT, saving           &   8.1.9 \cr
  9950. file format, creating &   8.1.8 \cr
  9951. file menu             &   8.1.0 \cr
  9952. file types            &   6.1.0 \cr
  9953. fill region           &   8.5.10 \cr
  9954. filter                &   8.3.1   \cr
  9955. filtering color images &  8.3.1.10 \cr
  9956. fine spray            &   8.5.12.1 \cr
  9957. fixed-width rectangle &   8.5.8.7 \cr
  9958. flip horizontally     &   8.2.8 \cr
  9959. flip vertically       &   8.2.9 \cr
  9960. ftp sites             &   0.0.0 \cr
  9961. ftp sites             &   6.1.0 \cr
  9962. frame rate test       &   8.9.1 \cr
  9963. frame rates           &   8.9.0 \cr
  9964.                       &      \cr
  9965. gamma correction      &   8.7.6 \cr
  9966. garbage collection    &   13.0.0 \cr
  9967. Gem Img files         &   6.1.0 \cr
  9968. geometry              &   7.1.1 \cr
  9969. GIF                   &   6.1.0 \cr
  9970. GIF                   &   8.3.1.0 \cr
  9971. GIF                   &   7.6.0 \cr
  9972. GIF files, problems with &  11.0.0 \cr
  9973. gradient fill         &   8.5.10.1 \cr
  9974. gray balance, printer &   8.1.3.2 \cr
  9975. gray scale            &   8.4.8 \cr
  9976. gray scale            &   8.4.9 \cr
  9977. }
  9978. \vfill\eject
  9979. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  9980.  
  9981. gray scale to color   &   8.4.9 \cr
  9982. grayscale             &   8.4.4.2 \cr
  9983.                       &      \cr
  9984. help menu             &   8.8.0 \cr
  9985. high pass filter      &   8.3.1.1 \cr
  9986. HIMEM.SYS             &   13.0.0 \cr
  9987. histogram             &   8.4.10 \cr
  9988. how to register       &   8.6.4 \cr
  9989.  
  9990. H/P                   &   8.1.15 \cr
  9991. Hubble                &   8.3.11.2 \cr
  9992.                       &       \cr
  9993. Ima files             &   6.1.0 \cr
  9994. image math            &   8.3.10 \cr
  9995. image math, example   &   8.3.12.2 \cr
  9996. image menu            &   8.2.0 \cr
  9997. image properties      &  8.2.12 \cr
  9998. imaginary             &   8.3.11 \cr
  9999. Imaging Systems files &   8.1.1.2 \cr
  10000. IMDS                  &   8.1.8 \cr
  10001. Img files             &   6.1.0 \cr
  10002. Independent JPEG Group &  14.0.0 \cr
  10003. index                 &   15.0.0 \cr
  10004. intensity             &   8.4.2 \cr
  10005. intensity mapping     &   8.4.4.2 \cr
  10006. interact              &   8.7.7 \cr
  10007. interpolate           &   8.1.3.1 \cr
  10008. introduction          &   1.0.0 \cr
  10009. invert colors         &   8.4.6 \cr
  10010. invert colormap       &   8.4.4.6 \cr
  10011.                       &       \cr
  10012. JFIF                  &   6.1.0 \cr
  10013. JPEG                  &   3.1.0 \cr
  10014. JPEG                  &   8.1.2 \cr
  10015. JPEG image files      &   6.1.0 \cr
  10016.                       &      \cr
  10017. kernel multiply factor &  8.3.1.9 \cr
  10018.                        &      \cr
  10019.  
  10020. labels                &   8.5.1 \cr
  10021. Laplace edge enhancement &  8.3.1.6 \cr
  10022. least-squares         &   8.5.8.3 \cr
  10023. license               &   3.0.0 \cr
  10024. lighter, printing     &   8.1.3.1 \cr
  10025. limitations           &   12.0.0 \cr
  10026. line                  &   8.5.4 \cr
  10027. line, least squares   &   8.5.8.3 \cr
  10028. linear calibration    &   8.3.4 \cr
  10029. load image            &   8.1.1 \cr
  10030. logarithmic calibration &  8.3.4 \cr
  10031. low pass               &  8.3.1.2 \cr
  10032. low-memory conditions  &  7.5.0 \cr
  10033. Lumisys                &  8.1.8 \cr
  10034.                        &      \cr
  10035. Macintosh , images from &  8.1.1.3 \cr
  10036. macro command summary   & 8.3.12.1 \cr
  10037. macro programming guide & 8.3.12.2 \cr
  10038. macros                  & 8.3.12 \cr
  10039. MAKEDEV               &  8.1.15 \cr
  10040. mapping, intensity    &   8.4.4.2 \cr
  10041. }
  10042. \vfill\eject
  10043. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  10044.  
  10045. math, image           &   8.3.10 \cr
  10046. math spray            &   8.5.12.3 \cr
  10047. mathematical          &   8.3.10 \cr
  10048. measure               &   8.3.3  \cr
  10049. media type            &   8.1.3.2 \cr
  10050. median filter         &   8.3.1.5 \cr
  10051. menu bar              &   8.7.1 \cr
  10052. menu bar              &   8.7.2 \cr
  10053. menu bar              &   8.7.4 \cr
  10054. menu bars             &   6.3.0 \cr
  10055. menu bars             &   6.3.1 \cr
  10056. menu options          &   8.0.0 \cr
  10057. menu, invisible after loading image & 11.0.0  \cr
  10058. miscellaneous features &  8.9.0 \cr
  10059. mode                   &  7.1.0 \cr
  10060. mouse                  &  5.0.0 \cr
  10061. mouse, jumpy           &  7.2.0 \cr
  10062. mouse, problems with   &  11.0.0 \cr
  10063. move                   &  8.2.4 \cr
  10064. movies                 &  8.2.14 \cr
  10065. moving image           &  6.3.0 \cr
  10066. MVS                    &  8.1.8 \cr
  10067.                        &       \cr
  10068. NMR images             &  8.1.1.1 \cr
  10069. noise reduction filter &  8.3.1.5 \cr
  10070. Nyquist                &  8.3.11 \cr
  10071.                        &      \cr
  10072. O.D. table             &  8.7.6 \cr
  10073. operation              &  7.0.0 \cr
  10074. ordering               &  0.0.0 \cr
  10075. OS/2                   &  9.0.0 \cr
  10076. overview               &  6.0.0 \cr
  10077.                        &     \cr
  10078. paint region           &  8.5.11 \cr
  10079. colormap               &  8.7.3 \cr
  10080. colormap                &  8.7.5 \cr
  10081. colormap bar            &  8.4.2.1 \cr
  10082. colormap bar            &  8.4.3.1 \cr
  10083. colormap, creating      &  8.4.4.5 \cr
  10084. colormap, fitting       &  8.1.0 \cr
  10085. colormap, fitting       &  8.7.8.4 \cr
  10086. colormap, inverting     &  8.4.4.6 \cr
  10087. colormap, options       &  8.4.4 \cr
  10088. colormap, reading       &  8.4.4.3 \cr
  10089. colormap, restore       &  8.4.4.8 \cr
  10090. colormap, rotating      &  8.4.4.7 \cr
  10091. colormap, saving        &  8.4.4.4 \cr
  10092. colormap, selecting     &  8.4.4.1 \cr
  10093. colormap, sorting       &  8.4.4.9 \cr
  10094. paper type             &  8.1.3.2 \cr
  10095. paste                  &  8.2.5 \cr
  10096. PCL                    &  5.0.0 \cr
  10097. PCL                    &  8.1.3 \cr
  10098. PET scan               &  8.1.1.5 \cr
  10099. peak areas             &  8.3.8 \cr
  10100. pixel compensation     &  8.3.5 \cr
  10101. pixel compensation     &  8.3.6 \cr
  10102. pixel intensities      &  6.2.0 \cr
  10103. }
  10104. \vfill\eject
  10105. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  10106.  
  10107. pixel interact mode    &  8.7.7 \cr
  10108. pixel operations       &  8.3.10 \cr
  10109. pixel value, changing  &  8.4.2.2 \cr
  10110. pixel value, changing  &  8.4.11 \cr
  10111. planes, color          &  8.7.8.8 \cr
  10112. plot                   &  8.3.7 \cr
  10113. plotting data          &  8.3.7 \cr
  10114. plugins                &  8.1.16  \cr
  10115. point spread function  &  8.3.11.2 \cr
  10116. polygon                &  8.5.8.4 \cr
  10117. polynomial  calibration &  8.3.4 \cr
  10118. Postscript             &  5.0.0 \cr
  10119. Postscript             &  8.1.3.1 \cr
  10120. power spectrum         &  8.3.11 \cr
  10121. printer                &  5.0.0 \cr
  10122. printer, problems with &  11.0.0 \cr
  10123. printing images        &  8.1.3 \cr
  10124. printing in Unix       &  8.1.3.4 \cr
  10125. printing in Windows    &  8.1.3.5 \cr
  10126. print quality          &  8.1.3.1 \cr
  10127. problems               &  11.0.0 \cr
  10128. properties, image      &  8.2.12 \cr
  10129. process menu           &  8.3.0  \cr
  10130.                        &     \cr
  10131. quantization           &  8.1.1 \cr
  10132. quantization           &  8.7.8.4 \cr
  10133. questions, common      &  7.6.0 \cr
  10134. quit                   &  8.1.13 \cr
  10135.                        &     \cr
  10136. raw ASCII images       &  8.1.1.4 \cr
  10137. raw bytes              &  8.1.1 \cr
  10138. raw bytes              &  8.1.1.1 \cr
  10139. real                   &  8.3.11 \cr
  10140. Realtek                &  7.2.0 \cr
  10141. reconstruction         &  8.3.11.2 \cr
  10142. rectangle              &  8.5.8.7 \cr
  10143. redraw menu bar        &  8.7.4 \cr
  10144. redraw colormap         &  8.7.5 \cr
  10145. register               &  8.6.4 \cr
  10146. registered             &  3.1.0 \cr
  10147. registered versions    &  3.1.0 \cr
  10148. registered, features   &  3.1.0 \cr
  10149. registration           &  3.0.0 \cr
  10150. remap colors           &  8.4.5 \cr
  10151. resizing image         &  8.1.6 \cr
  10152. resolution, printing   &  8.1.3.1 \cr
  10153. restore                &  8.2.11 \cr
  10154. restore colormap        &  8.4.4.8 \cr
  10155. RGB                    &  8.1.1 \cr
  10156. RGB                    &  8.1.2 \cr
  10157. RGB, printing          &  8.1.3.2 \cr
  10158. rotate colormap         &  8.4.4.7 \cr
  10159. rotating image         &  8.2.7 \cr
  10160.                        &     \cr
  10161. S3                     &  7.1.0 \cr
  10162. saving images          &  8.1.2 \cr
  10163. saving scan data       &  8.1.6 \cr
  10164. scan                   &  8.3.9 \cr
  10165. scanner                &  8.1.15 \cr
  10166. }
  10167. \vfill\eject
  10168. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  10169.  
  10170. screen modes supported &  7.3.0 \cr
  10171. SCSI                   &  8.1.15 \cr
  10172. select box             &  8.7.8.6 \cr
  10173. selecting region       &  7.4.0 \cr 
  10174. selecting region       &  8.1.1 \cr
  10175. separate colors        &  8.4.12 \cr
  10176. set color              &  8.5.1 \cr
  10177. settings, color        &  8.7.8.4 \cr
  10178. shareware              &  3.0.0 \cr
  10179. shareware version      &  3.1.0  \cr
  10180. shareware version, limitations &  3.1.0 \cr
  10181. show menu bar          &  8.7.1 \cr
  10182. show menu bar 2        &  8.7.2 \cr
  10183. show colormap           &  8.7.3 \cr
  10184. significant digits     &  8.7.8.5 \cr
  10185. site license           &  3.0.0 \cr
  10186. size, change           &  8.2.6 \cr
  10187. sketch                 &  8.5.9 \cr
  10188. sliding scale          &  8.4.4.2 \cr
  10189. snap trapezoid         &  8.5.8.6 \cr
  10190. Sobel edge enhancement &  8.3.1.7 \cr
  10191. sort colormap          &  8.4.4.9 \cr
  10192. spline                 &  8.5.8.2 \cr
  10193. spot densitometry      &  8.3.5 \cr
  10194. spots/ jagged lines    &  11.0.0 \cr
  10195. spray                  &  8.5.12 \cr
  10196. spray factor           &  8.7.8.2 \cr
  10197. spray factor           &  8.5.12.3 \cr
  10198. strip densitometry     &  8.3.6 \cr
  10199. summary                &  2.0.0 \cr
  10200. super VGA              &  5.0.0 \cr
  10201. superposing images     &  8.7.7 \cr
  10202. switch to...           &  8.1.7 \cr
  10203. system requirements    &  5.0.0 \cr
  10204.                        &        \cr
  10205. Targa                  &  6.1.0 \cr
  10206. test                   &  8.9.1 \cr
  10207. text direction         &  8.5.7 \cr
  10208. text files             &  7.8.0 \cr
  10209. TIFF                   &  6.1.0 \cr
  10210. TIFF parameters, extra &  8.1.2 \cr
  10211. trace curve            &  8.3.9 \cr
  10212. trademarks             &  14.0.0 \cr
  10213. transparency           &  8.2.12.1 \cr
  10214. transparency, copying  &  8.2.4 \cr
  10215. trapezoid              &  8.5.8.5 \cr
  10216. Trident                &  7.1.0 \cr
  10217. Trident                &  7.2.0 \cr
  10218. Trident                &  7.3.0 \cr
  10219. Tseng                  &  7.1.0 \cr
  10220. Tseng                  &  7.2.0 \cr
  10221. Tseng                  &  7.3.0 \cr
  10222. tutorial files         &  6.4.0 \cr
  10223.                        &        \cr
  10224. undo                   &  8.2.11 \cr
  10225. undo, automatic        &  8.7.8.1 \cr
  10226. Univbe                 &  11.0.0 \cr
  10227. }
  10228. \vfill\eject
  10229. \halign { \hskip .2 in # \hfil & \hskip 2 in  #  \hfil\hfill \cr
  10230.  
  10231. Univbe, problems with  &  11.0.0 \cr
  10232. Unix                   &  7.6.0 \cr
  10233. Unix                   &  7.1.1 \cr
  10234. Unix, printing         &  8.1.3.3 \cr
  10235. unknown image files    &  6.1.0 \cr
  10236. unloading image        &  8.1.11 \cr
  10237. upgrade policy         &  4.0.0 \cr
  10238. usage license          &  3.0.0 \cr
  10239. user-defined buttons   &  7.1.4 \cr
  10240.                        &        \cr
  10241. VESA                   &  7.0.0 \cr
  10242. VESA                   &  7.3.0 \cr
  10243. video cards supported  &  7.2.0 \cr
  10244. video cards, frame rates & 8.9.0 \cr
  10245. video RAM requirements &  5.0.0 \cr
  10246. video, problems with   &  11.0.0 \cr
  10247. virtual memory         &  3.1.0 \cr
  10248.                        &      \cr
  10249. warp                   &  8.3.2 \cr
  10250. warranty               &  3.0.0 \cr
  10251. Windows                &  5.0.0 \cr
  10252. Windows                &  9.0.0 \cr
  10253. Windows 9x             &  7.6.0 \cr
  10254. windows, image         &  7.4.3 \cr
  10255.                        &        \cr
  10256. X-ray images           &  8.1.1.1 \cr
  10257. XGA                    &  7.1.0 \cr
  10258. }
  10259.  
  10260. \bye
  10261.  
  10262.  
  10263.  
  10264.  
  10265.  
  10266.  
  10267.  
  10268.  
  10269.  
  10270.  
  10271.  
  10272.  
  10273.  
  10274.  
  10275.