v4.645 31/Aug/2021
1) A new 3rd mode for EPP whereby it produces polygons based on DBM clustering
2)Much faster updating of GatingTree when producing polygons from EPP


v4.644 27/Aug/2021
1)Fixes typo bug that made modal EPP unusable in previous version
2)Enables making polygons from cluster picks quickly


v4.643 05/Aug/2021
Improvements to copy quality


v4.642 02/Aug/2021
1)Cosmetic cleanup to EPP config screen
2)Use Wayne's July 31 2021 github update with fix to assert problem that deprecates my inferior workaround hack


v4.641 01/Aug/2021
Makes Modal EPP the default (not the old DBM EPP)


v4.640 31/July/2021
1)Exception with empty polygons when NOT doing best balance
2)Issue where polygons are splitting projections that have a single DBM cluster with high density bandwidth


v4.639 31/July/2021
Reorganizes SuhEpp code so that a run_epp executable is possible


v4.638 29/July/2021
Gets the new EPP modal clustering running on R2020a


v4.637 27/July/2021
Introduces first version of Wayne's new EPP that uses modal clustering instead of DBM clustering


v4.636 17/June/2021
1) C++ speedup for Separatrix and cluster border
2) Integration with cloud apps - Google Calendar
3) Integration with cloud apps - Google Tasks


v4.635 13/May/2021
Bug fixes to EPP


v4.634 08/May/2021
1) Continued improvements to config screens for EPP, MDS, Hi-D match and Phenograms: easy access to publciations/slides, more compact, smooth and easy to read.
for more details on improvements http://cgworkspace.cytogenie.org/Tutorials/ThingsInV4634.html
2) Provide access to EPP slideshow on EPP
3) Fix wordings for EPP, multidimensional and Hi-D.


Attempts parallelism in the JAVA implementation of Separatrix combinatorics.



Expands EPP to
1) Measure a balanced split using BOTH clustered and unclustered cell/event counts. Previously a balanced split only counted cells/events in a cluster.
2) Include unclustered cells/events when testing criteria of minimum size of leaf gate IF the user DE-selects BOTH the checkboxes “Trim leaf gates?” and “Apply to branches?”. Previously EPP only counted clustered cells when
3) Provide GUI support for both the above EPP improvements to the EPP configuration screen and the PlotEditor configuration screens for seeing separatrix and 2D PathFinder.
4) Allow user to ignore reuse of prior cached score with new checkbox on 2D PathFinder configuration screen


Upgrades 2D PathFinder for Separtrix so that it obeys the user settings for :
a) X/Y reuse according to KLD and DULL levels.
b) minimum size of a leaf


Provides FIRST full integration of the FIRST step on the long many-step road to having a full fast parallelistic EPP rewrite. The JAVA acceleration is now available as an optional alternative to the stable MATLAB so that users can help test. Next the JAVA accleration will get threads for 8 clusters or more.
The reason the full EPP rewrite is going to JAVA first is that it is an easier transition from MATLAB to C++ than going directly to C++. Java is very similar to C++ but does not freeze the computer.
So moving from vectorized, weak-typed language to a non-vectorized and strong-typed language is quicker and more stable by going to JAVA first.


1) Control disk storage on CytoGenie.org for AGI files by # of gigabytes. Wayne, Brissy and Stephen get 10GB. AutoGate runtime get 1GB. MATLAB full get 2GB.
2) Provide a mechanism for preventing the running out of disk space by stopping the addition of new users by setting up a file admin.properties in the folder /usr/local/tomcat7/webapps/ROOT/GetDown2/AutoGate/ExperimentFiles with the property setting AllowNewUsers=true.


1) New feature allowing user to save to CytoGenie.org server but have a limited # of files and use an rsa key that is contained in an encrypted zip file and then deleted IMMEDIATELY after being used
2) Improve the work flow for importing an agi file either from the main window or GatingTree window so that user does not have copy the agi file to the correct experiment location.
3) By default limit the # of cells display to speed up (sigh) the display of Cytek Data


1) Fix problem with r2019 and later when drawing ellipse on a non logicle scale
2) Improve htmo from MDS window


addresses EPP issues found with new setting features
1) Out of memory side effect when resuming EPP with max # clusters>=5
2) Edge case when small clusters all have the same X or Y value and cluster outliers are selected
3) Support 1D KLD avoidance with uncompensated data


More fussy programming to the Separatrix debug screen which the PlotEditor laucnhes to explain these suspicious plots with things like hair pin borders.


a) New google apps/drive
b) New user default settings for Wayne's new EPP "tuning knobs" (max # clusters, min applies to branch and naming stuff)


1) The majority of UMAP v2.2 benefits
2) 3 new functions for EPP as clarified by Wayne in the last 2 weeks
a. Gate names do not mention a marker if it does no contribute to the split
b. A form of dynamic bandwidth is afforded by having a maximum # of ciusters. See red box on RIGHT sight of screenshot below. When this setting is surpassed EPP will shift down the level of detail until either the # of clusters is less than the max … or until the cluster detail level of very low is reached
c. The minimum cells setting now can apply to either branch or leaf. Before it only applied to the leaf. See red box on LEFT sight of screenshot below.


Improves the PlotEditor's separatrix comparison debugger so that it is easier to read and also removes a bug where the best green line gets redrawn for EVERY case. No changes to separatrix logic or EPP was necessary since the improvements confirmed it is working


1) Activate UMAP Dimension Explorer and plot flashing when selecting in QFTable either in the context of run_umap or AutoGate Parameter Reduction window
2) Add subset name to toolbar of ReagentTable and UMAP Dimension Explorer


Mostly cosmetic and wording improvements in support of the 1st draft of the Cytek tutorial for EPP on T cells


Introduces simpler GUI for selecting AutoGate demo experiments and reading the associated documentation.


Fixes sizing and coloring for the 1D data distribution pseudocolor bar in the ReagentTable and Umap Dimension Explorer.


Continues improving KLD ReagentTable and clarifying wording with gooder English


1)Fix main problems with MATLAB uitable: fast row wide selection as opposed to TERRIBLY SLOW cell selection, right alignment of numbers, correct sortng of negative numbers, a few other small things.
2)Move Kld table's generalized logic on its toolbar to the toolbar super class TablePicker for WHEN EVER modal is FALSE a) Always refresh and refresh logic b) Screen capture and browse logic c) Size info (rows x columns) report
3)New features for run_umap like dimension explorer with region of interest tools


1) Adhere to David Parks to show DULL numbers so that low is dull and high is bright.
2) Add tool tips to the ReagentTable
3) Improving wording and descriptions about KLD, our dull SDU metric, all columns of the ReagentTable, the tool tips for "Picking reagents" etc.
4) Make the Epp form more clear and consistent.


Provides better descriptions and wording for reagents and KLD.


Continues to improve on reagent picker logic and data sample file creation with excel etc.


1)Continue improving the look, behavior and consistency of reagent picking from GatingTree, table or list in all invocation scenarios.
2)For consistency with modal and mode less window/figure ALWAYS put the All checkbox at bottom left since MATLAB forbids any top toolbar or stuff when style==modal


Fix continued parade of problems associated with toggling between modal JAVA windows for picklists like ReagentTable or GatingTree which are modal MATLAB figure windows. Weird event issues. Only Epp window is simple since it is a non modal mode-less JAVA window and does not fight with MATLAB figure conventions.


necessary to provide
1) MAJOR bug discovery (Feb 24, 2021) and fix (Feb 25, 2021) to the NEW QFMatch optimization by overlap which was invented in October 2020
2) Several cosmetic fixes due to working on high def MS Windows computer


Provide consistent GUI (btns etc) for picking parameters from 3 sources (GatingTree, ReagentTable or popup list) on Epp dialog, MDS dialog and File saving (csv, fcs)


1) Accelerates CD sorting
2) Allows user to see 1D path finder in FCS parameter pick list
3) Shows applied and model gate images QUICKLY from GateCopyQualityDashboard


1) Add 1D PathFinder bars as html text to FCS parameter pick list when computing KLD
2) Express matching positively as similarity instead of dissimilarity
3) Show Wayne's picture for false positive/negative
4) Spell QFMatch consistently like publication
5) Put in background reading combo box for reading publications on QFMatch, EPP/MDS and EMD
6) When going through GateCopyQuality dashboard show both applied and model gate images in tooltip or in popup window for fast convenience.


1) Allow user to pick EPP parameters from list using sorted KLD
2) Cosmetic improvements.


Adds KLD to fcs parameter picklist.


Contains improvements to copy quality view of gates for mass+distance similarity checking.


1) Hides QF match choice when applying/copying gating sequences
2) Maximizes UMAP speed by scaling parallelism by the # of logical CPU cores the OS assigns MATLAB


Includes speedup to stochastic gradient descent with UMAP


1) Support GLOBAL colors by name object to improve synchronization of updates and changes.... next improvements will include the JAVA listener model so that all ColorsEditor windows HEAR changes to global defaults... YAY.
2) A major consequence of 1) is that fnTranslate logic can NOT be global since different GatingTree's have different names for the same ID that needs translation. Instead all transation needs have to be parameters to the methods in ColorsByName which need to do translation
3) Fix problems associated with having treated this.dflts the same way REGARDLESS of instance type: ColorsByName or java.util.Properties. This effectively meant any updates are not seen by users of ColorsByName and it meant that lookup of colors was case senstive instead of case insensitive


1) Consolidation of re-factoring of cluster matching AS WELL AS cluster tethering of manual gates During 2D gate sequence building. Ready for extensive white box testing with OMIP 069, Eliver's B-cell/Macrophage and Nicolay's panoramic data set.
2) Fix bug with getMatchName argument counting