Questions / Problems Home
- How can I find out what I need from this long list of questions?
Try command-F, and searching for a keyword.
- How do I display an image?
- How do I get help?
- Try the HELP menu (MLx->HELP) and browse the help
files with Netscape or another web browser.
- Hold down the option key while invoking the MacLispix (colored)
menu items or pressing a button. Read the messages in the optional
help dialogs that appear, and press 'info' to go to the Doc (help)
files.
- Call me (Dave Bright) - 301-975-3911, or send e-mail
:
- The optional help dialog that I'm using doesn't have a help
button - only a source code button. Either there is no help file
for this menu item, or the help file has not been referenced.
In either case, see Dave Bright.
- How go I get rid of those pesky windows? Sometimes, if a
function is not quit properly, the window or slider or scale
bar or whatever hangs around. Clicking on the window once to
make it the front window, and then command-w, should always close
the window.
- I've loaded some images but nothing is happening. How do
I tell what images are there? Use the Info button to list
the available images. Use {MLx - show image arrays} to display
them.
- How do I get rid of graphics (rectangles, lines, outlines,
etc.) that are drawn on top of images and won't go away? Use
the clear button.
- Can I print my images? Not directly from MacLispix. Either
save the arrays, or the windows as TIFF files, or do a screen
grab, and then print with NIH Image, Adobe Photoshop, or some
other program that prints. Printing images is tricky and I do
not plan to add that capability into MacLispix.
- Annotating Images - or how to save the best looking letters.
MacLispix does annotation and plots (such as the labels for the
line profiles) with quickdraw commands (which resemble Postscript
commands - where lines, circles, etc. are rendered as smooth
as possible depending on the resolution of the output device),
so that the lines and letters stay the same (one pixel wide)
regardless of how large or small the plot window is made (with
the resize button at the lower right). However , after
capturing, the resolution of the image, plots and all, is FIXED.
This means that if the plot is captured and then resized, the
lines and letters may assume a blocky appearance, depending on
exactly how the application (such as PowerPoint, NIH Image or
Adobe Photoshop) handles the replication of pixels. Usually the
applications use copy-bits, a routine built into the toolbox
of the mac, that REPLICATES pixels on a nearest-neighbor basis
(I think) when making images larger, or skipping pixels when
making images smaller. In any case, the quickdraw information
is lost. Letters, lines, etc. are now pixel maps and will be
jagged if magnified enough.
- How can I arrange images on the screen
to make slices (say, with Capture)? Tile.
Zoom if desired.
Or, push in the Caps Lock key, hold down the option key, and
move with the mouse (will use grid
snap).
- Can I show pict files? No.
- How do I search this list or other help files? Command-f.
- Are there any conflicts with MLx and any inits? The one that
I know of is with the Norton choose file/directory dialog. The
Norton init is nifty, but non standard.
- "How can I use a black and white monitor?" How
many colors to I need? Any number of colors or gray levels can
be used for the monitors setting with MacLispix. Ie., MacLispix
will work with the monitors control panel set to anything, but
the setting will drastically affect how displayed images look.
For all but millions of colors, MLx indirectly uses the system
palette. To avoid 'blotchies', use 256 grays or millions for
gray level images, and millions for color overlays. MacLispix
uses the system palette, so:
1. Black and white (only two 'colors') will not display any
image very well. 2. 16 levels of gray will work satisfactorily,
but images appear 'blotchy'. 2. If you are limited to 256 colors,
use 256 gray levels for gray level images. 3. Thousands or millions
of colors work best for color overlays, thermal scales, etc.
(example
for color)
- Can I do lengthy calculations in the background? Yes. While
a calculation is taking place, you can edit files, look at images,
click on them, etc. You can also go to another application and
MacLispix will continue to calculate, although more slowly.
- What is the Listener (or Monitor)? The Listener is analogous
to the terminal screen in days of yore. Messages are printed
to it. Text can be cut and pasted using it.
- The text goes off the right side of the window. Can I 'wrap'
the text? I presume you are using the MacLispix text editor rather
than Netscape or another browser. Text in help files can be wrapped
to the current window width by selecting the text to wrap (choose
one paragraph at a time) and then using option-q. It is best
NOT to wrap source code.
- What are those wierd names at the bottom of the optional
help dialogs? These are names of LISP functions that are used
by the menu item.
- Why doesn't MacLispix display the images when I load them?
Displaying images takes more memory both in the LISP heap and
in the system heap. Sometimes one wishes to process images and
view only the result. In order to conserve memory (and screen
space) , image files are read into arrays, which can be listed
with the info button, and displayed with the Show button.
- What is the difference between MacLispix and NIH-Image. I
am often asked "How is Maclispix different from NIH Image?"
NIH Image is the program to try first. If it does what you need,
by all means use it. NIH-Image is smaller, faster (usually) ,
more efficient in using memory, thoroughly debugged, and very
well documented. Image has a very large user base and a long
history. Here are some things NIH Image does that MacLispix does
not do: * Animate stacks. Reslice stacks. * Real time (as the
mouse moves) lookup table modification for thresholding and false
color. MacLispix (MLx) is for special purpose scientific image
processing. MLx is large because the Common Lisp programming
environment comes with it. MLx is less efficient in using memory
because the original data (whether real, integer, etc.) is kept
around, along with a scaled version that is used for display.
Value readout and calculations always refer back to the original
data. MLx is slower because it will use real, complex, integer
or whatever arithmetic as required. Here are some things MLx
does that NIH Image does not do. * Windows can be moved under
program control. Windows can be grabbed with any part (with the
control key held down) - not just the title bar. * Scatter diagrams
(Concentration Histogram Images). * Red-Green-Blue color overlays
(true color image display on 24 bit color screens).
- What other image processing programs are there out there?
Free Mac programs: NCSA Image, ImageNSpect, Prism demo. Commercial
programs: Adobe Photoshop, IP Lab Spectrum.
- What kinds of image files will MacLispix read and write?
TIFF, raw, text (ascii), and other specialized formats.
- Why is TIFF the preferred file format in MacLispix? It is
popular, flexible and supports 8 bit, 16 bit, 24 bit color and
real valued images.
- How do I threshold an image? Why would I want to do that?
Thresholding is used before blobbing or segmenting. Use the threshold
slider.
- Can I program MacLispix? Yes. You can load your own LISP
source code.
- How do I save a window with its look up table? Use the save as TIFF
button.
- What can I do about the "GC" cursor and the "memory
allocation request failed" messages? Keep the number of
displayed images or their total size (area) down. Keep the number
of image arrays, (especially of type t or float) down. Assign
more memory to MacLispix in the Finder. More
about memory.
- How do I redraw windows to 'clean them up? Click on the grow
box of the window. This box is not visible in the image windows,
but works anyway. It is in the lower right corner. For 'permanent'
graphics, use the clear button.
- How do I clean up the screen and make good looking slides
out of multiple images?
- Move images around: with the caps lock key down, hold down
the control key to move images by anthing BUT the title bar -
a grid snap will be in effect. Change window titles with the
Titles button.
- Make a background window using a large text window (file
- New menu) and 'push' unwanted windows below it by clicking
on the title bar while holding down the command and option keys.
- Change the window titles to something more readable using
the Title button.
- I don't have 10 MB on my hard disk. Do I need all those doc
and source files? MacLispix will work fine without any of the
source files. If they are of no use to you, just trash the MLx
source folder. Lisp source code files have a .lisp extension.
Doc files have an .html or .doc or .text extension.
- What are the key commands? See the menu items for those commands.
There are no key commands for any of the buttons.
- How can you give the LISP programming environment away with
MacLispix, since it Apple sells it for several hundred dollars?
I have a licence from Digitool
to give away MacLispix with a reduced Macintosh Common Lisp environment.
(This is a common arrangement with LISP vendors). For example,
there is no compiler, you cannot compile files, or ff-load foreign
functions. Many of the functions in MCL are still there - you
can load source code and edit files, for example.
Trouble Before using any menu item,
the message at the bottom of the Listener window should say 'idle'.
If it does not, then Maclispix thinks it is doing something. Some
of the show values menus and the false color menus continue running
until told to stop. In any event, command- period will stop anything,
and clicking on a window and then using apple-w or the close menu
will delete any leftover windows. LISP notifies users of errors
by breaks. These appear in the Listener window. Breaks should
not occur with normal use of MacLispix, except when the user makes
an error that MacLispix does not catch, or when a bug in MacLispix
is encountered. The top level of LISP, with the ? prompt should
usually be used. When a break occurs the prompt becomes 1>,
2>, etc., to denote the level of the break (i.e.. how many
times a break has occurred). Command-period aborts one level at
a time, progressing to the top level. Command-period will also
interrupt any on going LISP process. It can be continued or aborted,
as the message in the Listener window will tell you. Such interruptions
do not erase any data, or any windows not associated directly
with the current operation. More serious problems may require
quitting and restarting LISP. This, of course, will erase any
images and data from memory, which must then be reloaded from
disk files. If a serious crash occurs, it is a good idea to reboot
the Mac as well as to restart LISP. If a REALLY serious crash
occurs, one should use the Norton Utilities, after booting up
on an emergency disk, and examine the health of the disks. Such
trouble is probably not caused by MacLispix, but occasionally,
especially with other applications running at the same time, damage
to disk files might occur. It is particularly good to examine
everything on the system disk with the Norton Utilities.
Here are some suggestions for specific problems.
Windows left over
Sometimes extra windows are left around, if apple-. is used
to interrupt a command, and sometimes they are left around on
purpose for further use. (The false color bar is an example of
the latter). To get rid of these windows, do one of these: Click
on the window to make it the front window. (Some windows such
as the color bar will show no change when clicked on.) Then use
command-W (apple - W), or the {file - close} menu to close the
window. Use the Erase button.
Image looks Black
If the array you are displaying has small integer values, then
the elements are probably bytes (unsigned-byte 8). You can check
this with the Info and Limits buttons. If this is the case, then
the array may not be scaled for display. This is usually the right
thing to do, but for pixels that are small integers, the gray
levels are all black or close to it. Hold down the control key
to scale such arrays. If the array is not a byte array, then the
array might be blank, that is all the pixels have the same value.
The gray level for such an array is arbitrary, so I made it black.
No optional dialogs
If the option key is held down, but the optional help dialog
still does not appear, then one of these two things is likely
true: There is no optional help dialog for that menu item. Complain
to Dave Bright. MLx is doing something. "Busy" will
appear at the bottom of the Listener window. I don't know why
this behavior occurs, but apple-. (command-period) will stop whatever
is running and allow the optional dialog to appear. The above
has sometimes caused the optional dialogs to ALWAYS appear.
Norton Init problem
There is a conflict with the Norton choose-folder dialog box
init and the choose-directory-dialog function in MCL. This results
in cancellation of some routines that would save images or other
files. The cancellation often occurs with no warning or notification
of error. The function that is cancelled, for some reason unknown
to me, is choose-directory-dialog. The fix: remove the Norton
init.
out of memory
If you run out of memory, either the error message in the listener
will say something to that effect or the 'GC' cursor will appear
often. Try erasing all arrays and windows, or quitting MacLispix
and starting over. When you start seeing a "GC" icon
where your pointer should be, then you are running out of available
memory. You can change the amount of memory available for use
with this program by altering its preferred size in the icon "get
info" box. This is often useful to do when you know how much
memory is available on the Mac which you are using (this can be
checked with "About this Macintosh" in the Apple Menu
when the FINDER is on top). If you want to check your memory space
without leaving MacLispix this can be done by typing (room) at
the question mark prompt in the Listener window. If "GC"
appears most of the time, MacLispix has run out of heap space.
Try clearing some windows and some image arrays. If even using
the MLx - change image arrays - clear all menu does not help,
it will be necessary to stop and restart MacLispix. Please report
these conditions too - some memory, somewhere is not being reclaimed.
When handling images of any size, give MLx as much memory as you
can. If when doing array operations, you see this in the listener:
> Error: Memory allocation request failed. > While executing:
CCL::%MAKE-UVECTOR > Type Command-. to abort. See the Restarts
menu item for further choices. After using command-. to get back
to the '?' prompt, erase some image arrays with the {MLx - pixel
array ops - erase} menu. This should allow more space. If this
does not work, the mac heap has probably grown too large, due
to too much image window area. Probably the best thing to do is
to quit MacLispix and start over. If possible, assign more memory
in the preferred size box inside the 'get info' dialog. The get
info dialog can be displayed from the finder by selecting the
MLx application (round icon) and typing command-i. The more memory
can be allocated in the preferred size box when MLx is NOT running.
This will allow the LISP heap to grow more. After starting over,
display only the images you absolutely need. (Displaying a byte
image (pixel values 0-255) can triple the amount of memory required
or more, because MaxLispix has the scaled array and the pixmap
on the heaps, as well as the image array. (It is possible to write
window refresh routines that would use much less heap memory,
but that would take much longer to refresh the windows. If they
would be useful, let me know. )
Too many windows cluttering up my screen:
Erase them all with the arrange...erase images button.
.. or.. Push them to the bottom by clicking on the title bar while
holding down the option key. ..or.. Click the go-away box at the
upper left, for one window at a time.