Frequently asked questions

General
Q101: Who wrote VisBio?
Q102: What are VisBio's licensing terms?
Q103: What system specifications do you recommend to run VisBio?
Q104: How often are new versions released?
Q105: What is the best way to cite VisBio in my paper?

Using VisBio
Q201: Why has animation been slow and choppy since v2.20?
Q202: How do I adjust the space between Z slices in the 3D display?
Q203: When I load Openlab LIFF data, it looks wrong. What's going on?
Q204: What happened to the "drift correction" feature VisBio used to have?

Troubleshooting
Q301: An error message appeared. What should I do?
Q302: VisBio printed an error message, but is now completely locked up. How can I copy the message?
Q303: On Mac OS X, sometimes VisBio never finishes starting up. What is wrong?
Q304: I keep receiving OutOfMemoryErrors. How can I avoid them?
Q305: When I click the VisBio icon, the splash screen never appears and the program never starts up. What can I do?
Q306: On Windows, when I load Openlab LIFF data, VisBio terminates without warning. What's the problem?
Q307: On Windows, attempting to visualize a dataset crashes VisBio, or produces a blank display. How can I fix this problem?
Q308: VisBio reports my version of QuickTime as "expired." How do I correct this issue?

Classics
Q401: How much wood would a woodchuck chuck if a woodchuck could chuck wood?
Q402: If a tree falls in the forest and no one is around to hear it, does it make a sound?
Q403: What is the sound of one hand clapping?

Philosophy
Q501: Do humans have free will? OR: Is the universe deterministic?
Q502: Is faith the opposite of logic?
Q503: Is it wrong to kill and eat other animals?


General

Q101: Who wrote VisBio?
A101: VisBio was written by Curtis Rueden of the Laboratory for Optical and Computational Instrumentation (LOCI), White Laboratory of the Laboratory of Molecular Biology, University of Wisconsin-Madison, with contributions from Melissa Linkert and Eric Kjellman.
Thanks to John White, Kevin Eliceiri, Bill Hibbard, Bill Mohler, Ilya Goldberg, Dennis Fan, Gerard Ziemski and everyone at the White Lab for ideas and assistance.
 
Q102: What are VisBio's licensing terms?
A102: VisBio is free software, distributed under the GNU General Public License (GPL). VisBio's source code is freely available.
The GPL allows you to make as many copies of the software as you want, and even create derivative works of the software, as long as those works are also distributed according to the GPL's terms. However, it prohibits using any of VisBio's code in a commercial product, so that VisBio and all derivative works remain free for everyone to use.
 
Q103: What system specifications do you recommend to run VisBio?
A103: For the best performance, a fast CPU is needed—at least 1 GHz for Macintosh, or 2 GHz for Windows and Linux machines. VisBio can run on slower machines, but some features may seem sluggish, particularly animation. Since VisBio is written in Java, and Java is rather slow on the Mac, we recommend a strong system if you are running Mac OS X—a G5 will perform much better than an older G4.
We strongly recommend at least 512 MB of system RAM, and suggest 1 GB or more for memory intensive features such as volume rendering of large datasets.
Lastly, for a responsive 3D display, a good video card is recommended. Any recent card should provide enough performance for VisBio's needs.
 
Q104: How often are new versions released?
A104: VisBio is under active development. New versions are released when a significant number of bugs get fixed, or when significant new features have been added. Take a look at the What's new page to see VisBio's release history. To be notified of future releases, sign up for the LOCI software mailing list.
 
Q105: What is the best way to cite VisBio in my paper?
A105: You can cite the VisBio article in Traffic's June 2004 issue:
Rueden, C., K. W. Eliceiri and J. G. White, June 2004; VisBio: A Computational Tool
for Visualization of Multidimensional Biological Image Data. Traffic 5(6), 411-417.


Using VisBio

Q201: Why has animation been slow and choppy since v2.20?
A201: VisBio used to link all thumbnails into the displays simultaneously. This strategy had the advantage of improving animation performance. Unfortunately, other functions such as color adjustments became slower and slower as the amount of thumbnail data increased. Even worse, VisBio's memory requirements became unreasonable with sufficient thumbnail data linked to the displays.
As of v2.20, VisBio links thumbnails into the displays only as needed. You will notice substantial speed improvements among several features, as well as vast memory usage improvements, especially with larger datasets (datasets that once required more than 1 GB of RAM now need less than 100 MB). However, because this on-the-fly thumbnail linkage is more CPU intensive, animation at high frame rates requires a fast processor to keep up.
For the next major release of VisBio, we plan to investigate techniques for improving animation performance, such as the use of by-reference texturing in Java3D.
 
Q202: How do I adjust the space between Z slices in the 3D display?
A202: You can alter the X, Y and Z aspect ratios directly by typing values into the "Aspect ratio" text boxes on the display panel.
 
Q203: When I load Openlab LIFF data, it looks wrong. What's going on?
A203: Some of the color Openlab datasets we have encountered store images in a rather interesting fashion. First, there are three single-channel images in a row—a red channel, a green channel, and a blue channel—each with values ranging from 0 to 4,095. This data is probably the originally collected data, stored in full 12-bit depth (for a total of 36 bits per image). For some reason, the file then contains one color image of the same information at 24-bit resolution (each of R, G and B ranging from 0 to 255).
This discrepancy in color ranges makes VisBio's color mapping job difficult. Fortunately, there is an easy way to avoid this issue altogether, using VisBio's subsampling ability.
What you probably want is to visualize just the full-color images. Remember that the image ordering inside the file is RGBC,RGBC,RGBC (red, green, blue, full-color; etc.). You want a data object containing only every fourth channel, starting with image #4.
After importing your dataset, click Add > Subsampling. Choose a name, then click the Edit button to alter its parameters. Change the starting image for the appropriate dimension from 1 to 4, and change the step from 1 to 4. Click Apply, map the sampling to one of VisBio's displays, and you're set!
 
Q204: What happened to the "drift correction" feature VisBio used to have?
A204: Drift correction is a time-consuming, tricky feature to support. We plan to readd drift correction in the future, as time permits. In the meantime, check out the TurboReg plugin for ImageJ.


Troubleshooting

Q301: An error message appeared. What should I do?
A301: If it appeared inside a window called the "Error console," you can copy the contents and paste it into an email message to the mailing list. Drag the mouse across the text to select it, then press the key combination to copy it. (On Windows, the command is Ctrl+C. On Mac OS X it's Command+C.) Paste the error into the email message, along with detailed steps on how to reproduce it. The author is committed to eliminating program bugs.
 
Q302: VisBio printed an error message, but is now completely locked up. How can I copy the message to send it in?
A302: VisBio writes all error messages to a file called "errors.log" in the VisBio directory. First, check that file to see whether the error output is present.
Alternately, you can take a screen capture. (On Windows, hitting "Print Screen" copies the current screen into the clipboard, which you could then paste into an image editing program such as Paint, then save it to a JPEG or other image file.)
Also, it is possible that VisBio is not locked up, but that there is a modal dialog box (such as the Colors dialog box) waiting to be closed before text can be copied from the error console.
 
Q303: On Mac OS X, sometimes VisBio never finishes starting up. What is wrong?
A303: This behavior is a known issue that we have observed on our Mac OS X systems. Since no error message is generated, the problem is difficult to diagnose.
Fortunately, the bug seems fairly rare. If you force quit the program and restart, VisBio will most likely start up normally.
 
Q304: I keep receiving OutOfMemoryErrors. How can I avoid them?
A304: First of all, VisBio can allocate up to 512 MB of RAM for its use "out of the box." You can reduce the out of memory errors by allowing VisBio to utilize more memory. To do so, bring up the System Information panel (Window -> System Information) and click the "Change..." button next to the "Memory maximum" box. We recommend allocating up to 3/4 your physical memory to VisBio for best results (e.g., if you have 1 GB of RAM, put in 768 MB). See the "Changing the memory limit" topic in VisBio's built-in help for more details.
VisBio's memory usage is largely determined by the number of simultaneous pixels in the 3D display. By default, VisBio subsamples the current stack's images to 192x192, to help improve memory usage (the current image in the 2D display is not subsampled in this manner, and is displayed at full resolution). Note that these limits are adjustable in VisBio's options ("Preferences" on Mac OS X).
Effectively, then, memory usage is a function of the number of slices in the 3D display. You can create a subsampling by selecting the dataset to subsample, clicking "Add >" and choosing "Subsampling" from the popup menu. See the "Subsampling" topic in VisBio's help for more information.
 
Q305: When I click the VisBio icon, the splash screen never appears and the program never starts up. What can I do?
A305: This problem occurs on machines with certain memory configurations when the system is unable to allocate enough RAM to the JVM's maximum heap. By default, VisBio uses up to 512 MB of RAM. If you increased that value (using the System tab) beyond the amount of physical RAM on your machine, VisBio may no longer start up properly. How to correct the issue depends on which platform you are running.
Windows: Double-click "VisBio.bat" within your VisBio directory. When VisBio starts up, use the System Information panel to set the value back to 512. Or you can edit the "launcher.cfg" file, and change the "-mx####m" value back to "-mx512m" (the default). Save the file and try to launch VisBio again.
Macintosh: Option-click the VisBio icon and choose "Show package contents" from the menu. Navigate into the "Contents" folder, then double-click the Info.plist file. Navigate through the tree to the "-Xmx####m" entry and change it back to "-Xmx512m" (the default). Save the file and try to launch VisBio again.
Linux: Edit the "visbio" script, and change the "-mx####m" value back to "-mx512m" (the default). Save the script and try to launch VisBio again.
 
Q306: On Windows, when I load Openlab LIFF data, VisBio terminates without warning. What's the problem?
A306: This crash occurs due to a bug in QuickTime for Java. Typically, the data loads fine, but VisBio crashes when attempting to visualize it. Only certain Windows systems seem to be affected, and it may no longer be an issue with newer versions of QuickTime (we have no confirmed reports of it occurring with QuickTime v7.0). If you experience this problem, first verify that it is Openlab-specific rather than a crash that happens no matter what you are trying to visualize (see Q307 below). If you are certain you are experiencing an Openlab-specific issue, try upgrading to the latest version of QuickTime.
 
Q307: On Windows, attempting to visualize a dataset crashes VisBio, or produces a blank display. How can I fix this problem?
A307: This issue usually occurs due to a bug with certain video card drivers. There are two ways for Java3D to render data on Windows: OpenGL and Direct3D. By default, VisBio uses Direct3D, which seems to work on most configurations.
If you experience crashes, blank displays or other problems when attempting to visualize data, you can try switching to the OpenGL renderer by clicking the "Change" button next to the renderer listed on the System Information panel.
To check whether your video card supports Direct3D or OpenGL, see the list of video cards tested with VisBio.
 
Q308: VisBio reports my version of QuickTime as "expired." How do I correct this issue?
A308: This problem occurs with early releases of QuickTime v7.0 for Windows. If VisBio reports your QuickTime version as expired on the System Information panel, you can fix the problem by redownloading and reinstalling QuickTime.


Classics

Q401: How much wood would a woodchuck chuck if a woodchuck could chuck wood?
A401: A woodchuck would chuck all the wood a woodchuck could chuck if a woodchuck could chuck wood, of course.
 
Q402: If a tree falls in the forest and no one is around to hear it, does it make a sound?
A402: Of course it does! (At least, it produces sound waves.) Now, if you expand the question to include phenomena that have absolutely no ramifications whatsoever on the surrounding environment in any way, the answer is less clear. But in that case, the question is moot. Is Schroedinger's cat dead? Who cares!
 
Q403: What is the sound of one hand clapping?
A403: It's sort of a quiet tapping noise. See the Simpsons, Season 2, Episode 6: Dead Putting Society, for a demonstration.


Philosophy

Q501: Do humans have free will? OR Is the universe deterministic?
A501: I don't know, but it doesn't matter. If we do not have control over our actions, then we can never truly make choices, and our actions are meaningless.
The question that appears to be before us is: should we hold people responsible for their actions? If we have free will, then we should hold people responsible, because their actions are governed by their own will, and they are thus responsible. If we do not have free will, we have no choice whether to hold people responsible, and the question is moot. Thus, in either case, we should assume people have free will.
Lastly, as a side note, the compatibilism/incompatibilism debate is purely semantic with respect to the term "free," and thus of much less import than it is traditionally regarded to be.
 
Q502: Is faith the opposite of logic?
A502: It depends what you mean by "faith." A distinction should be made between "belief based on evidence" versus "belief without evidence" or perhaps even "belief despite evidence to the contrary."
If faith is simply a feeling of reasonable certainty resulting from observable evidence (e.g., I "have faith" that I am typing these words into my computer), then we all have faith in many things, and faith is in fact a manifestation of logic.
However, a distinction can be made between this sort of faith and a more absolute version, which I'll refer to as "blind faith." Anything requiring blind faith for acceptance goes against reason itself. Why would you ever believe something without a logical reason?
There are beliefs where I could be accused of having blind faith, however. But I vindicate these beliefs by stating that to believe any other way would be suboptimal.
For example, I have faith in the logical process of induction. But induction is not foolproof. Why do we assume the future will resemble the past? Because it has worked for us so far—that is, it always has in the past. But that logic is clearly circular! So how can we justify induction?
Many believe we can't justify it, but we can vindicate it—we can easily see that to believe any other way would be useless. That is, if our assumption that the future will resemble the past is incorrect, then it becomes impossible to make predictions about the future at all, and logic will cease being of assistance. Thus, induction is the optimal strategy for predicting the future, even if it doesn't always (or ever) work.
 
Q503: Is it wrong to kill and eat animals?
A503: Although I find this question to be profoundly difficult, it can be addressed. Delving deeply into core questions such as "What is morality?" is beyond the scope of this FAQ. However, it can be argued that our moral code applies only to those creatures who respect that code.
For example, according to this form of "moral responsibility," I should not kill you, because you and I are both capable of understanding the moral implications of our actions—we both know that the other person does not wish to be killed, and that to do so would be wrong. But a shark will not hesitate to kill and eat me if I am bleeding, floating at sea. Furthermore, the shark does not comprehend the morality of its action; it simply devours the prey instinctually to sate its hunger.
Many other living creatures have a similar lack of comprehension with regard to morality, effectively causing them to forfeit the protections that the moral code would grant. We even have this attitude toward our own species to some extent—those who commit crimes have demonstrated their rejection of societal rules, and thus forfeit many of society's protections.


Last update Tuesday, May 8, 2007