Imaging: In Development
3D Image Reconstruction:
An interesting and attainable goal with all of our imaging work is the reconstruction of consecutive frozen sections into a single 3D image. One of the major draw backs to two-dimensional analysis is that one can never be certain what is going on in the Z-space above and below the place on which the image exists. By taking nearby sections and registering them according to a fixed set of control points it is possible to create a three-dimensional image stack. With some interpolation and heavy processing, this stack can generate a 3D model of the image and display the results of the stains (vascular structure, pO2 regions, etc.) in this volume.
Distributed Imaging Analysis System:
The application in development will provide a mechanism for the storage, retrieval and processing of images through a multi-part client-server model. The general process of inputting data shall consist of the following:
- Creation of a patient (or selection of a pre-existing patient).
- Creation of numerous sections related to the patient. This will include the attachment of the "base" images. These are the images as recorded from the camera and will never be overwritten unless explicitly required.
- Selection of any or no analysis procedures to run on a given image, complete with parameters. This can be done at any point, and every result will be stored in the database with the possibility of deleting obsolete or irrelevant images should storage space become a limitation.
Once stored in the database, this data will be maintained in a number of levels of back-up. In addition to daily back-ups of the database itself, a server daemon (also in development) called Capybara will run in the background on the server doing a number of important roles.
When active, Capybara combs the database for newly entered items. Any newly created data (patient, section, or image) will be copied from the database into a structured file system on a separate disk. This creates a third level of security and indeed, this disk could be located off site on a network drive. Capybara itself can run on a remote machine with a connection to the internet and perform the same operations.
In addition to writing these files to disk, Capybara will output an XML file which will direct Matlab to execute any requested analytic operations. Upon completion, the resulting data files will be written back into the directory structure, and an output XML file will be generated to inform Capybara that there are files waiting to be inserted into the database. During it's next active phase, Capybara will write all of the analytic result files and images into the database so that they are backed-up and ready to viewing by the user.
Data access and retrieval will eventually be implemented in a variety of ways. The first method (the application being described here) will provide the user with a simple viewing interface that will permit browsing of patients, sections, images, and data results all in a straightforward and user-friendly interface.
Eventually a secure web-site could be developed to allow exactly the same features utilizing ASP.NET. This could in fact replace the stand-alone application as mechanisms for transmitting images and files smoothly between web pages and servers are increasing in usability and safety. Naturally, any web-based access protocol would need to be strongly protected via login-password procedures. The stand-alone application has a similar level of login security already in place.