-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reimplement the UI #2
Comments
Quick recap 2018-10-12:
|
Recap 2018-10-24:
|
Recap 2018-11-07: Smoothing for the zoom in OpenLayers can be disabled like this. On chaining multiple shaders: Instead of rendering to the Before the shader can render to a texture, the texture has to be created. This happens here through the The color map is applied in the The color map itself is loaded as Edit: The |
Klappt, danke! |
Recap 2018-11-12: Die RGB Infos zum "dynamic stretching" der Color Map (2. oben): Für das Stretching werden die Werte der aktuell minimalen und maximalen Distanz benötigt. Diese müssen nach jedem Rendern mit Die Werte werden mit Die aktuelle Color Map, das ermittelte Histogramm und die minimale/maximale Distanz werden für die Darstellung des "Color Map Indicator" im UI verwendet ( Die minimale/maximale Distanz wird außerdem in dem |
Recap 2018-11-26: Sonstige Features über die wir gesprochen haben:
Die Werte für den Spectrum Viewer werden mit dem Folgende Features sollte der Spectrum Viewer haben:
Folgendes sollte leicht zu implementieren sein (oder schon funktionieren):
|
Mir ist beim implementieren der ColorScale aufgefallen, dass eine Handvoll Pixel schwarz erscheinen, wenn man mit der Maus darüber fährt. Ist da vlt. noch ein Fehler in der ColorLens (Division durch 0 oder so)? |
Ja, das habe ich auch schon bemerkt. Das ist allerdings in der alten Version auch schon so, also musst du dich da nicht drum kümmern (es sei denn du möchtest 😉). |
Wobei so ein schwarzes Pixel den interessanten Effekt hat, dass das schwarze Dieser Fall sollte zwar nicht auftreten, aber vielleicht ist hier ausnahmsweise nicht 1 der höchste Wert. Funktioniert dann vielleicht das Verschieben der Color Map nach unten (mit dem weißen |
Recap 2018-12-04: Folgende Features haben wir besprochen:
|
The UI did not age very well with Angular 1. Some parts of the UI do not work correctly any more (the spectrum viewer) and the code is hard to maintain. We decided to do a rewrite of the UI in Vue. This can be done incrementally:
Implement the image viewer. Maybe use OpenLayers instead of Leaflet? Features:
The similarity image is displayed with a (fixed) color map and the angle distance. No bright field image, edge overlay or graticule.
The user can choose a fixed reference point on the similarity image to update the display.
The user can move the mouse in "freehand mode" over the similarity image to update the reference point in realtime.
The user can zoom and pan the similarity image.
Implement the color map indicator and dynamic stretching of the color map ("color lens"). Normally we have a color map of, say, 256 values. With the similarity display, the first value represents the lowest possible similarity (e.g. 0) and the last value represents the highest possible similarity (e.g. 1). But a given similarity display does not always include the lowest or highest possible similarities. If we only have similarities between 0.25 and 0.75, dynamic stretching of the color map would stretch the full color map to 0.25-0.75 instead of 0.0-1.0.
The color map indicator should display the color map that is applied in the similarity display.
The indicator should visualize any dynamic stretching of the color map that is done in the current similarity display.
The indicator should display a histogram with the quantity of pixels of a given color of the map.
Implement the spectrum viewer. Only the currently visible interval of the spectrum should be drawn so it works efficiently. Find a way to use (fake?) scroll bars that works better than the current approach.
Users should be able to zoom and scroll both in x (m/z) and y (intensity) directions.
The x axis should display m/z values as labels.
The y axis shoud display intensity values (in percent) as labels.
On mousemove, the current m/z and intensity values of the mouse position should be shown.
Implement selectable spectrum ranges. A range is an interval of m/z values in the spectrum.
Users should be able to select one or more ranges in the spectrum viewer.
There should be a list of currently selected ranges where existing ranges can be deleted.
Ranges can be "active" (default) and "inactive". If there are active ranges, the similarity calculation should be limited to the combined m/z values of active ranges.
Users should be able to import and export the m/z intervals of ranges as CSV files.
Implement the "mean" display mode. This mode should display the mean image (with color map) of all active m/z ranges instead of the similarity display.
Implement the "direct" display mode. This mode should display the single m/z channel (with color map) that is selected on mousemove in the spectrum viewer.
The text was updated successfully, but these errors were encountered: