#16380 closed enhancement (fixed)
Make crosseye and walleye camera start with good initial geometry
| Reported by: | Tom Goddard | Owned by: | Tom Goddard |
|---|---|---|---|
| Priority: | moderate | Milestone: | |
| Component: | Graphics | Version: | |
| Keywords: | Cc: | Elaine Meng | |
| Blocked By: | Blocking: | ||
| Notify when closed: | Platform: | all | |
| Project: | ChimeraX |
Description
I tried helping Bob Stroud make a cross-eye stereo pair image yesterday and failed because there are 4 separate parameters that need to be set right to get a good result: eye separation, camera distance to model, field of view, and convergence. Would be useful if the "camera crosseye" and "camera walleye" command set these to reasonable defaults that depend on the size of the current scene.
Change History (3)
comment:1 by , 12 months ago
| Cc: | added |
|---|---|
| Resolution: | → fixed |
| Status: | assigned → closed |
comment:2 by , 12 months ago
Hi Tom,
Maybe I'm slow today but I had a really hard time parsing those sentences in your comment about the defaults. Hopefully I interpreted them correctly. May need to take a look (sorry):
<https://www.cgl.ucsf.edu/home/meng/chimerax/vdocs/user/commands/camera.html>
Default convergence for walleye was previously documented as -5 degrees. Is the new value of 3 really positive or should it be negative?
Is "scene diameter" how wide it is on the actual screen? My natural tendency is to think that it is measured in angstroms but that of course makes no sense in the description of the defaults.
Thanks,
Elaine
comment:3 by , 12 months ago
Hi Elaine,
You crosseye/walleye description looks fine. The convergence is really +3 degrees for walleye. I'm not sure why it was -5 before, probably because that worked best with the fixed default eye separation. But it was pretty nonsensical while the new defaults are much more reasonable. I agree there is some ambiguity about which numbers refer to Angstroms in the scene and which are centimeters in front of the user's face. The beauty is that it doesn't matter in terms of understanding the geometry. The geometry is the same in the scene coordinates in Angstroms or in the real world in centimeters modulo a scale factor. And the eyeSeparation parameter is clearly documented to be in Angstroms. The other physical distance is that from the camera to the scene center (10*d) and we actually don't have a ChimeraX command to set that, but the camera crosseye code sets it in Python in scene coordinates in Angstroms, computed from the scene diameter in Angstroms. I may at some point add to the zoom command an option to specify the distance from camera to scene center. For now that is done by zooming and there is no quantitative way to set that distance.
Tom
Done in ChimeraX 1.10 daily builds, not in 1.9.
The cross-eye defaults for putting the virtual scene in cross-eye 30 cm in front of your eyes, with screen 60 cm away, so that the whole scene is visible are eye separation equal to 2x scene diameter, camera distance equal to 10x scene diameter, field of view 6 degrees, convergence 6 degrees.
The wall-eye defaults for putting the virtual scene in cross-eye 60 cm in front of your eyes, with screen 30 cm away, so that the whole scene is visible are eye separation equal to scene diameter, camera distance equal to 10x scene diameter, field of view 6 degrees, convergence 3 degrees.
In both cases the window size on screen should be about 12 cm (about twice the physical eye spacing). It is tempting to make wider windows but this makes for uncomfortable cross-eye and wall-eye viewing. In the cross-eye case a wider window will make the virtual scene closer to your face than the screen making it hard to focus, and for wall eye the wider window will make your eyes try to diverge which is also painful.