Skip to content

API Overhaul

Compare
Choose a tag to compare
@kmdouglass kmdouglass released this 09 Nov 10:46
· 181 commits to master since this release

v0.5.0

Contains ALICA v0.2.1

Added

  • There is now a GibsonLanniPSF for modeling realistic 3D PSF's and that can account for details such as sample, coverslip, and immersion media refractive indexes and thicknesses.
  • A PSFBuilder interface was added to allow for a PSF to be built at various times during the simulation, rather than all at once. This addition is necessary to account for axial stage positions that might change during the simulation.
  • Added a Stage component to represent the state of the microscope stage.
  • Added functionality through the BackgroundCommand to build custom backgrounds for the simulations.
  • Added a Microscopeclass to replace Device. This class integrates the various new and refactored components.
  • Added a set of Dynamics classes to separate fluorophore dynamical systems from their creation logic.

Changed

  • Major API changes were made in this version. The purpose was to assign properties to components in a way that better matched a real microscope (e.g. a camera should not have a wavelength). The change to a builder based API is intended to to decouple all the components and make the scripting easier.
  • PSF instances are now immutable.
  • Optics-based logic was moved from the camera to a new Objective class, whereas the original camera logic was moved to a new Camera class in the components package.
  • The Laser has been moved to the components package.
  • Fluorophore generation is no longer setup by the user but executed by the microscope.
  • Obstructors are now setup by the microscope as well. GoldBeads are now created by a ObstructorCommand object.
  • FluorophoreProperties now has a wavelength property. The wavelength property was removed from the camera.