Eppley Institute for Cancer Research |
|
University of Nebraska Medical Center |
|
|
Ripple uses a modular design approach in an attempt to make it easier to add more functionality to the system. This was my first attempt at a run-time loadable modular design so it may not be as elegant as it would be if I had the time to redesign it.
Modules involved in the data collection pathway should create their own execution threads and access shared memory with the semaphore mechanism provided to prevent deadlocks and other conditions.
Currently Ripple supports 4 types of modules to extend functionality...
Image Decoders - Reads images from files for display by the program.
Detectors - Captures images to files.
Motion Controllers - Position the detector.
Triggers - Initiate the start and stop of an image capture.
All modules are expected to be encapsulated in DLL which are processed when Ripple starts up.