Giter Site home page Giter Site logo

lui's Issues

Interdependent LuiObjects

LuiObjects (instrument classes) are already interdependent in some cases (GPIB). The parameters and configuration must be refactored to reflect this.

Need:

  • Mechanism for initializing dependencies in proper order
  • Configuration support
  • Configuration XML read/write support

Memoize blanks

Need to allow saving of blanks to make SpecControl, CalibrateControl more convenient.

Additional data collection schemes

desired default: 1/2 flash trans 1/2 flash
desired other options:
a. flash trans, trans, trans, .......
b. flash, trans, flash, trans, flash, trans,
c. flash, trans, trans, trans .... flash
gravy options
d. CD = (right - left)/(right+left)

MAT File interop incomplete

Currently missing

  1. multiple-variable MAT files
  2. reading MAT files for profiles, calibration, etc.
  3. convenient multi-dimensional array write

TroaPump Control

Choose pump never, always or TS only, and whether to discard first acquisition from TroaControl

ClearData() etc are inefficient and error prone

ClearData, etc. should result in only the respective layer being clear for the next paint call.
Currently, they are disposing the layer, resulting in 1) reallocation and 2) exceptions if clear is called without invalidating.

In other words, the sequence ClearData;DrawPoints;Invalidate needs to be allowed as well as ClearData;Invalidate;DrawPoints;Invalidate as currently required.

GPIB Provider abstraction required

GPIB SDK-specific code needs to be refactored from the DDG classes to a GPIBProvider class, so that arbitrary GPIB controllers can be used with the DDG.

lasercom is not thread-safe

Certain methods in lasercom objects should be wrapped in exclusive locks. At least:

  • GPIB read/write methods
  • Camera read

LaserPower incomplete

LaserPower needs to be finished.

Data should be a difference spectrum from which photolysis yield can be computed and optimal laser power selected.

TroaProgress indications

The indications move strangely due to line 397. Need to fix.

Also, need to add numerical indications (possibly use NScans NumericUpDown to count scans while disabled).

DDG-agnostic delay setting

All DDG objects should have a primary delay property linked to the appropriate delay, to avoid having to cast to a particular DDG when incrementing delay times.

Camera saturation exception

Need to throw an exception when camera pixel is saturated. Catching exception should pause a running TROA and cancel anything else.

Add/Configure objects in options

Plan, BeamFlag example:
class LUIConfigurator - ListView, Add/Remove buttons, panel area
class BeamFlagConfigurator : LUIConfigurator - type selector, panels to hide show class specific options

OnApply - instantiate the configured items using Factory classes / Activator

Pump object not bound by default

In some LuiTab OnLoad methods, HandlePumpChanged was subscribed after base.OnLoad. HandleParametersChanged is called in the base method and was thus called before the subscription.

The event is now subscribed before calling base.OnLoad

TroaControl, SpecControl, ResidualsControl.

CameraStatus orphaned

CameraStatus textbox in TroaControl was orphaned. Needs to be moved to LuiTab and added to StatusBox along with CameraStatusLabel.

All tabs will then need to update this from their WorkProgress methods (as should be done with the default LuiTab.WorkProgress).

beam flags options

desired default -- only closed during flash
option --- close between flashes.
pump option.

Configurable camera image area

Need to set ImageArea based on active (intensified) area. Need to replace references to Camera.Width with ImageArea.Width.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.