asarnow / lui Goto Github PK
View Code? Open in Web Editor NEWLaser User Interface
License: GNU General Public License v3.0
Laser User Interface
License: GNU General Public License v3.0
Need to set ImageArea based on active (intensified) area. Need to replace references to Camera.Width with ImageArea.Width.
Certain methods in lasercom objects should be wrapped in exclusive locks. At least:
Need to allow saving of blanks to make SpecControl, CalibrateControl more convenient.
We use Knuth/Welford to compute the means and variances.
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).
Work methods creating temporary files should be cleaned if requested.
Currently missing
Completed scans aren't updated for last set.
DetectorTester can leave processes hanging around even after exit. They can use ~12% CPU each...
Need to investigate this bug - does it affect LUI?
This might be the clue: https://stackoverflow.com/questions/5088953/closing-main-form-doesnt-finish-process-in-windows-7
Implement complex data management
This class and all methods must be completed and debugged.
Need logging statements to go somewhere.
When handling apply, should sanity check the configuration and error back to the configuration page if issues are detected.
Should get the actual version from somewhere.
Should InitDataFile each time DoWork called, but overwrite file unless data is saved.
The number of scans is now used as the dummy value (fist/top left element) in TROA data matrices.
Choose pump never, always or TS only, and whether to discard first acquisition from TroaControl
Scan counters need to be updated properly in all LUI tabs. Progress bar should be removed.
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.
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.
See title.
Need to investigate.
Need to throw an exception when camera pixel is saturated. Catching exception should pause a running TROA and cancel anything else.
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.
Need persistent application and device settings.
TemperatureCts set null at some point?
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.
See title
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
Need this control!
Needs an option.
See title.
Show std / mean as percentage during residuals.
The Alignment classes and ParentForm UI elements are deprecated and should be removed.
Save button is disabled and data management logic is missing.
Letting the BF controller "ping-pong" can interfere with the optical path during acquisition.
LuiObjects (instrument classes) are already interdependent in some cases (GPIB). The parameters and configuration must be refactored to reflect this.
Need:
desired default -- only closed during flash
option --- close between flashes.
pump option.
The most important control!
It would be nice to zoom into the spectra y-axis because the noise is pretty expansive.
Pausing is useful to refill the pump or otherwise mess with things.
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).
Should add something to the home tab of the ParentForm. Welcome msg. and common functions?
unsigned int WINAPI GetMaximumBinning (int ReadMode, int HorzVert, int* MaxBinning)
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)
LaserPower needs to be finished.
Data should be a difference spectrum from which photolysis yield can be computed and optimal laser power selected.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.