A user can generate views of a frog from many different directions, under various stages of dissection. Dissection is done at the major organ level. The kit has the capability of displaying an organ's name and function based on a click in the image.
I started developing this page with two chunks already largely completed:
The interface was developed first under X and then ported to Web forms. The program works as follows:
The kit uses a pre-generated 3D point and normal list. Dividing Cubes was performed separately on each organ mask to generate a point list for each. Since this only needed be done once, CPU-intensive improvements were made to the way points and normal approximations are generated.
The CGI script called through submitting the form is written in C. It uses sockets to communicate parameters to previously started server(s). One server is chosen, depending on the request. Server(s) perform the rendering of the in-memory point list, based on the organs and view chosen. In this way the Web server doesn't necessarily have to perform much computation.
After a server has produced an image, it sends an acknowledgment back to the Web server, and the new form and image is passed back to the browser.
Originally, a cron script went through the temporary image directory every half hour and removed files more than half an hour old. Disks are cheap now so that a large number of the images are cached for a time.
Page last modified: 03/25/19 Contacts: Bill Johnston, David Robertson |