Giter Club home page Giter Club logo

carta-frontend's Introduction

CARTA Viewer

Branching model

master:
mainstream branch, no development.

develop:
development branch, usually will merge feature branch to it and include hot fix for those feature. After each phase release, merge develop to master.

each feature branch:
people develop each feature in its branch whose name can be peter/drawImage or issue-131 if we use tickets. When it is finished, use pull request to proceed code review and then merge to develop. After merging, evaluate those added features on develop.

Fix Bug: Except some special cases, such as modifying documents, changing build scripts, low/no-risk fixes, otherwise you need to commit your bug fixes in Hotfix branch or the original feature branch, then make a pull request to do code review.

Introduction to build, run and deploy Desktop ver. of CARTA Viewer on Mac and Linux

Development platform:

  1. CentOS 7 (7.3.1611 tested)
  2. Ubuntu 14.04, Ubuntu 16.04 and Ubuntu 17.04
  3. Mac 10.11, 10.12, 10.13

Supported deployment platform:

  1. CentOS 6, 7
  2. Ubuntu
  3. Mac: OS X El Capitan (10.11), macOS Sierra (10.12), macos high sierra (10.13)

Tested c++ compiler: gcc 4.8.5, 5.4 (used by Ubuntu 16.04) & clang on macOS.

CARTA can be built by Qt 5.3, 5.4, 5.5, 5.6~5.8. Start from 5.6, we need to install QtWebKit & QtWebKit additionally.

Build CARTA

Follow https://github.com/CARTAvis/carta/wiki#build-carta.

Run CARTA

Need to prepare some things needed for running CARTA and also appended parameters.

requirement 1: create needed folders

cd your-carta-work,, execute ./CARTAvis/carta/scripts/setupcartavis.sh.

It is optional. You do not need to setup this and can use CARTA smoothly. But not sure if snaptshot function of CARTA will work OK without setup this.

There are two things you need to know first.

  1. The folder structure and why you need to choose a your-carta-work, take a look here, https://github.com/CARTAvis/carta/wiki/build#step2---choose-your-working-space-folder-of-carta-and-clone-source-code-of-carta.

  2. Due to the history issue, so you should rename this git project folder from carta to CARTAvis. Therefore you can executee git clone https://github.com/CARTAvis/carta.git CARTAvis.

requirement 2: install data of geodetic, ephemerides for some kinds of fits file.

Paste the following content to your terminal to install.

mkdir data ; \
mkdir data/ephemerides ;\
mkdir data/geodetic ; \
svn co https://svn.cv.nrao.edu/svn/casa-data/distro/ephemerides/ data/ephemerides ;\
svn co https://svn.cv.nrao.edu/svn/casa-data/distro/geodetic/ data/geodetic ; \
mv data ~/

The default location is under home directory ~/, and will be improved to better place.

requirement 3: prepare fits, casa image format, or miriad files.

The default loading path is ~/CARTA/Images and you can put there or other places (you need to switch the folder in the file browser of CARTA).

You can also chooose fits file in this git project folder, your-carta-work/CARTAvis/carta/scriptedClient/tests/data when using file browser of CARTA. The other ways to get testing fits files,

  1. https://drive.google.com/open?id=0B22Opq0T64ObTGJhNTBGeU04elU (zip file)
  2. https://svn.cv.nrao.edu/svn/casa-data/trunk/demo/ (some files here)
  3. Contact ASIAA members to get some.

requirement 4: check if the foldler using by dbPath exist.

The default location is $(HOME)/CARTA/cache/pcache.sqlite so create $(HOME)/CARTA/cache if it does not exist.

(optional) modify config.json to overwrite the default embedded setting

Create/Modify the following data to be the content of ~/.cartavis/config.json

{
    "_comment" : "List of plugin directories",
    "pluginDirs": [
        "$(APPDIR)/../plugins",
        "$(APPDIR)/../../../../plugins"
    ],
    "disabledPlugins" : ["tester1", "clock1", "blurpy"],
    "plugins": {
        "PCacheSqlite3" : {
            "dbPath": "$(HOME)/CARTA/cache/pcache.sqlite"
        }
    }
}

$(APPDIR)/../plugins is for Linux. "$(APPDIR)/../../../../plugins" is for Mac.

You can browse more detailed instruction about these parameters from here, http://cartaserver.ddns.net/docs/html/developer/contribute/Writinganimageplugin.html#appendix-e-carta-config-file

Run by command line

  1. Current CARTA needs to execute the following command every time to find correct dynamic/shared Library before running CARTA. Will improve later by using rpath.

    1. setup LD_LIBRARY_PATH on Mac/Linux
    ## 1-1 for casa libs
    ## on Linux, use this
    export LD_LIBRARY_PATH=$CARTAWORKHOME/CARTAvis-externals/ThirdParty/casa/trunk/linux/lib:${LD_LIBRARY_PATH}
    ## on Mac, use this
    export LD_LIBRARY_PATH=$CARTAWORKHOME/CARTAvis-externals/ThirdParty/casa/trunk/darwin/lib:${LD_LIBRARY_PATH}
    ## or this path, should work but not test. It is the symbolic link of the above path,
    ## export LD_LIBRARY_PATH=$CARTAWORKHOME/CARTAvis-externals/ThirdParty/casacore/lib:${LD_LIBRARY_PATH}
    
    ## 1-2 for wcslib, only Mac. no need to setup the path wcslib on Linux, we already use QMAKE_RPATHDIR which seems not work on Mac.
    export LD_LIBRARY_PATH=$CARTAWORKHOME/CARTAvis-externals/ThirdParty/wcslib/lib:${LD_LIBRARY_PATH}
    
    ## 1-3 for /usr/local/lib/libgsl.dylib which is needed by Fitter1D plugin
    export LD_LIBRARY_PATH=/usr/local/lib:${LD_LIBRARY_PATH}
    
    1. On Mac, you can use Qt Creator build without setting 1-1, 1-3 thing by (LD_LIBRARY_PATH). In Qt Creator, there is a default enabled setting which will automatically add build library search path to DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH (Mac, work), add build library search path to LD_LIBRARY_PATH (Linux, not work, don't know why).

    2. On Mac, you need to setup below thing, you can copy them as a shell script. [Caution: the below script is setup when build folder is choosed in CARTAvis]

    cd $CARTAWORKHOME/CARTAvis
    export CARTABUILDHOME=`pwd`
    
    mkdir -p $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/
    cp $CARTABUILDHOME/build/cpp/core/libcore.1.dylib $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/
    
    # need to rm for qt creator 4.2, otherwise when build+run together will result in core/libcore.1.dylib not able find out qwt
    rm $CARTABUILDHOME/build/cpp/core/libcore.1.dylib
    cp $CARTABUILDHOME/build/cpp/CartaLib/libCartaLib.1.dylib $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/
    
    install_name_tool -change qwt.framework/Versions/6/qwt $CARTABUILDHOME/ThirdParty/qwt-6.1.2/lib/qwt.framework/Versions/6/qwt $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/MacOS/CARTA
    install_name_tool -change qwt.framework/Versions/6/qwt $CARTABUILDHOME/ThirdParty/qwt-6.1.2/lib/qwt.framework/Versions/6/qwt $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libcore.1.dylib
    
    # not sure the effect of the below line, try comment
    # install_name_tool -change libplugin.dylib $CARTABUILDHOME/build/cpp/plugins/CasaImageLoader/libplugin.dylib $CARTABUILDHOME/build/cpp/plugins/ImageStatistics/libplugin.dylib
    install_name_tool -change libcore.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libcore.1.dylib $CARTABUILDHOME/build/cpp/plugins/ImageStatistics/libplugin.dylib
    
    install_name_tool -change libCartaLib.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libCartaLib.1.dylib $CARTABUILDHOME/build/cpp/plugins/ImageStatistics/libplugin.dylib
    install_name_tool -change libcore.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libcore.1.dylib $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/MacOS/CARTA
    install_name_tool -change libCartaLib.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libCartaLib.1.dylib $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/MacOS/CARTA
    install_name_tool -change libCartaLib.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libCartaLib.1.dylib $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libcore.1.dylib
    
    for f in `find . -name libplugin.dylib`; do install_name_tool -change libcore.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libcore.1.dylib $f; done
    for f in `find . -name libplugin.dylib`; do install_name_tool -change libCartaLib.1.dylib  $CARTABUILDHOME/build/cpp/desktop/CARTA.app/Contents/Frameworks/libCartaLib.1.dylib $f; done
    for f in `find . -name "*.dylib"`; do install_name_tool -change libwcs.5.15.dylib  $CARTABUILDHOME/ThirdParty/wcslib/lib/libwcs.5.15.dylib $f; echo $f; done
    
  2. execute ulimit -n 2000 before running CARTA

  3. To run CARTA binary with parameters, at least should append html file path, example:

$CARTAWORKHOME/CARTAvis/build/cpp/desktop/CARTA --html $CARTAWORKHOME/CARTAvis/carta/html5/desktop/desktopIndex.html

Some of optional parameters:

  1. --scriptPort 9999 for python interface
  2. put /scratch/some-fits-file.fits in the end

Run and Debug by Qt Creator

Ref: https://github.com/CARTAvis/carta/wiki/build#use-qt-creator-to-build-and-debug-will-complement-this-part-later

Deployment: Prepare distributable and packaged installer/zip

Use this repo, https://github.com/cartavis/deploytask.

Third Party Libraries

Third-party Libraries Version license
casacore 2.3+ GPLv2
casa 5.0.0+ GPLv2
ast 8.4.0 LGPLv3
gfortran 4.8+ GPLv3
WCSLIB 5.15 LGPLv3
CFITSIO 3.39 link (NASA license)
GSL 2.3 GPLv3
flex 2.5.37 link (flex license)
RapidJSON 1.02 MIT
qooxdoo 3.5.1 MIT
Qt 5.3+ LGPLv3
Qwt 6.1.2 link (Qwt license)
Python (included for CentOS 6) 2.7 link (Python license)
NumPy (Included for CentOS 6) BSD
Matplotlib (Included for CentOS 6) link (Matplotlib license)
Cython (Included for CentOS 6) Apache
libstdc++ (Included for CentOS 6) 4.8.1+ GCC Runtime Exception

Dynamic/Shared Library search notes for runtime and packaging

  1. On Mac, start from Qt 5.5, the rpath of dependent Qt library will use @rpath instead of using absolute path.

  2. CARTA desktop version is built to CARTA program + dynamic libs (libCARTA, libcore, many libPlugin built from Qt) and use "a few static Third-party library + many dynamic Third-party library".

  3. It seems that Qt-built dynamic libs do not have Search Path issue, at least before moving CARTA program (for packaging).

  4. We use install_name_tool (Mac) and chrpath or PatchELF (Linux) to specify dynamic linking path of each lib. On mac, CARTA is located in CARTA.app/Contents/MacOS/desktop after building. Linux does not have these folder, so we need to have different handles.

CI/CD

CirclCI (docker): https://circleci.com/gh/CARTAvis/carta

Travis CI (Mac): https://travis-ci.org/CARTAvis/carta/. Mac auto build repo: https://goo.gl/3pRsjs.

Introduction to build Server ver. of CARTA Viewer on Linux

https://github.com/CARTAvis/carta/wiki/Server-version-of-CARTA

carta-frontend's People

Contributors

acdo2002 avatar christyreynolds avatar confluence avatar creynolds75 avatar crocka avatar daikema avatar dependabot-preview[bot] avatar dependabot[bot] avatar duidae avatar i-chenn avatar jolopezl avatar jrhosk avatar kswang1029 avatar loveluthien avatar markccchiang avatar panchyo0 avatar rwjsimmonds avatar tienhao avatar veggiesaurus avatar yuhsuan-hwang avatar zarda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carta-frontend's Issues

[imageViewer] axis label and tick label

frontend version: a588672

issue 1:
the gap of axis label needs to be larger
screen shot 2018-10-21 at 11 50 09

update: this issue is prominent in the electron app which uses 1280x720(?) as default size.
screen shot 2018-10-22 at 09 51 03
Without resizing the window but reconfiguring the layout, the issue becomes less prominent.
screen shot 2018-10-22 at 09 51 28
If we maximize the window (using MBP 13") and reconfigure the layout before opening any images, the issue is less prominent.
screen shot 2018-10-22 at 09 57 04
With the same electron app on iMac using its default window size, the gap is larger:
screen shot 2018-10-22 at 10 01 02 am
Maybe this is also an issue of hiDPI? Or the resolution of the imageViewer panel?

issue 2:
if coordinate transform is applied (attached is from native to galactic), y tick label is no longer rotated by 90 degree.
screen shot 2018-10-21 at 11 50 27

imageViewer cursor

imageViewer:

  • Need to show velocity, frequency, and Stokes of the current frame somewhere (integrated in the cursor info bar, maybe?).
    Format for velocity is like "%.3f km/s, LSRK / Radio, Q". Here "LSRK" can be read from the header keyword "SPECSYS", while "Radio" can be read from the header keyword "VELREF". "Q" indicates the Stokes parameter of the current frame. Format for frequency is like "%.3f MHz, LSRK, Q", where "LSRK" can be read from the header keyword "SPECSYS"
  • as more information is shown in the cursor info bar, we may need a two-line bar by default.

Improve graph type options

Current plot options for displaying a stepped graph (histogram), point cloud or line graph are needlessly complicated. The two options "draw as points" and "interpolated" should be replaced by a single dropdown or a button group.

Suggested nomenclature for the three options: "Stepped", "Points", "Curve" (or "Line")

misalligned histogram click markers in firefox

Markers (or their click handler div) are shifted in firefox, meaning you have to click on them while hovering slightly to the right of them. Might be related to the click handler div's padding.

raster rendering in animation

during the animation, the boundary values for color mapping seem to be locked to the frame just before the start of animation so that some frames are all white (saturated).

During the animation, the per-frame histogram is not updated accordingly.

UPDATE: if fps is low (e.g., 1 fps with good internet speed, histogram does update and raster rendering works as normal)

Demo: https://youtu.be/JmalQwCPC5A

file browser needs to be draggable/resizable

Currently, the file browser is implemented as a BlueprintJS Dialog. While the styling is somewhat consistent with the floating windows, the dialog should also be wrapped in a react-rnd component, to allow resizing and dragging.

[cursor freeze] position offset of the cross

This is seen in the "desktop" version. When pressing shift+space to place the cross, sometimes there is an position offset between the cross and the cursor position. This is not seen in the server version with chrome.

testing app: http://alma.asiaa.sinica.edu.tw/_downloads/CARTA-ASIAA-1-Dec-2018.dmg (with electron 4.0.0)

update: the desktop version seems to place the cross at the pixel center of the pixel pointed by the cursor, not right at the cursor position.

Refine menu wording and disable unimplemented buttons

  • Wording around opening a new frame is confusing, and should be changed.
  • Menu entries for features that have not been implemented yet should be disabled.
  • Placeholder widgets should be removed
  • Menu entry for "Controls and shortcuts" should be functional

[imageViewer, AST] incorrect native coordinate when reopening an image

frontend version: f6daeb9, tested with MBP

to reproduce this issue:

  1. open J2000_test.hdf5
  2. change the coordinate system from "native" to "galactic"
  3. reopen J2000_test.hdf5 (not append image)
  4. now the coordinate system of the grid line is still "galactic" which may be okay (ideally maybe we should reset it to "native")
  5. change the coordinate system from "galactic" to "native" (should be FK5) and we see

screen shot 2018-10-25 at 12 51 56

The system seems still galactic but its label format changes to FK5.

[xyz profilers] enhancement of tsv output

Please add "#" to the second row ("x y" --> "# x y")
Please add pixel coordinate and world coordinate of the profile taken at.
Please add the labels of horizontal and vertical axes.

Example header is like (from casaViewer)
#title: Spectral profile - HD163296_CO_2_1_zoom.image-raster
#region (world): Point[[17:56:21.289, -21d57m22.221]]
#region (pixel): Point[[89, 89]]
#coordinate: world
#xLabel: radio velocity [km/s]
#yLabel: [Jy/beam] Mean

[imageViewer] pan at high zoom level

frontend version: f6daeb9
It appears that the click-to-center pan action suffers from probably hi-dpi issue (found this with my MBP).
Below is before clicking the orange pixel.
screen shot 2018-10-25 at 08 08 38
We expect to see the orange pixel is centered to the axis border box. But we see
screen shot 2018-10-25 at 08 08 52
The position is off. And even higher zoom level, the offset is much prominent.

I am not sure if zoom using a hi-dpi screen has similar issue. Could you have a look too?

line plot zooming/panning disabled when no data is dislayed

The line plot component's zooming and panning functionality stops working as soon as no data is displayed in the plot.

This can be replicated in a number of ways:

  • Load an image with all-NaN data
  • Zoom or pan the plot until no data is within the field of view.

The only way to adjust the zoom at this point is to reset the range (double clicking or clicking on the reset range button).

image coordinates should start from (0, 0)

  • The center of the bottom left pixel should have coordinates (0, 0), rather than the DS9 approach (1, 1)
  • The cursor value seems to be offset from the pixel center
  • Spatial profiles should be consistent with the image view in terms of pixel coordinates

[imageViewer] cursor coordinate precision?

frontend version: f6daeb9 (tested with my MBP)
I believe I am seeing things here. It appears that the cursor coordinate has precision issue.
The following is a demonstration with a model image intended for this kind of test. The orange pixel center should be located at RA=00:00:00.0000, Dec=30:00:00.0000 as indicated by the grid lines. However, we see the cursor coordinates have some offsets.
img_5179

The offset is visualized by the following.
img_5180

It appears that the issue here is not only for very small scales. With supermosaic image, I think we have same issue.
img_5181

Could this be due to error propagation of the coordinate transformation from pixel to world?

AST configuration options

AST config. options:

  • if it is RA/DEC, use sexagesimal format by default, rather than in degree format.
    (e.g., R.A. = 12h:23m:43.234s, Dec = -34d:35m:23.123s)

  • if it is galactic coordinate, use degree format by default
    (e.g., GLON = 23.123 degree, GLAT = -5.234 degree)

  • "WCS(a, b)" in the cursor info bar should follow the above two rules

  • default format for "Numbers" as "d.5"

  • Overlay settings -> Global -> Color (not functional; this is supposed to change the color of ticks, grid, label, etc. in one shot?)

AST: changing coordinate system results in incorrect tick labels

using IDIA carta with frontend version: b9e44e2

To reproduce:

  1. open orion_12co_hera.hdf5

  2. we should see correct cursor coordinate and tick label coordinate
    screen shot 2018-10-19 at 9 14 14 am

  3. now change the coordinate system from FK5 to galactic

  4. issue 1: the tick label format should be changed to degree automatically.
    screen shot 2018-10-19 at 9 15 31 am

  5. issue 2: by manually changing the format to degree, the tick labels (incorrect) are not consistent with the cursor coordinate which should be the correct one.
    screen shot 2018-10-19 at 9 15 56 am

  6. similarly, with supermosaic.10.hdf5, changing from galactic to FK5 results in the same issue.

menu items aren't always clickable (z-index issue)

Sometimes, menu items aren't registered when clicked on, because the clicks are being intercepted by something with a higher z-index. The user then has to click on the items once to make them focussed, and once again to actually "click" them.

odd behavior of left/right click in the histogram of renderConfig

The video shows this odd behavior.
https://www.youtube.com/watch?v=774bXm-IXlM

The test is done with the dev-viewer, chrome, and MacBook Pro using track pad. Frontend version = 933a9e0
The beginning of the video demonstrates that the pointing of the track pad should work precisely. But while clicking on the histogram, the min red line doesn't update to the position where left-click is issued.

Also tested with iMac using Magic Mouse, it works properly...

spectral profile plots aren't resized correctly

  • Spectral profile plots aren't resized correctly when the window size changes (although they are resized correctly when the drag handles are used)
  • Spectral profile plots don't seem to use the correct pixel ratio

[improvement] channel index in animator

The channel indices in the animator collide when the panel is narrow and the total number of channels is too large. Attached is an example viewing a cube with a 7680-channel cube on my laptop.
screen shot 2018-10-24 at 12 32 34

Perhaps we can improve this by just showing the first and the last channel indices. Users can estimate where to click to jump to a certain channel with the help of the channel index below the slider.
Or, the indices can be generated in a more smart way with the consideration of the widget width.

Display cursor values and mean/RMS values in profilers

Both spectral and spatial profilers shoud:

  • display the value of the cursor along the x axis somewhere in the widget
  • display the value of the graph itself at the cursor location somewhere in the widget (by looking up data efficiently
  • display the mean and RMS values somewhere in the widget when the "show RMS" toggle is checked

[xy(z) profiler] steps plot

In the xyz profile plots, it seems that the step is aligned to the left edge, not center. Naively aligning to the center is better. Any thoughts?

screen shot 2018-12-05 at 3 25 59 pm

No limitation to zoom out until all objects disappear

This issue will happen whenever keeping zooming out. In the render area, user can keep zooming out unlimitedly. This action will cause that all objects on the canvas are gone, and system crash in some case. Another the functionality of zoom in also has no limitation.

accuracy of gridline

Please refer to the attached movie to demonstrate this issue. Please focus on the intersect at (6000, 5000). The position moves in that pixel when changing zoom levels. The test image is LMCq.hdf5.

https://youtu.be/ABrDFAMbG1I

[xyz profilers] tsv export

for x and y profilers, the default file name is like
S255_IR_sci.spw29.cube.I.pbcor.fits-X-profile-2018-12-11-12-38-2
"X", or "Y" is indicated.

for z profiler, the default file name is like
S255_IR_sci.spw29.cube.I.pbcor.fits-unknown-2018-12-11-12-39-35, if we use default axis (e.g., frequency). If "use WCS values" us disabled, "unknown" will be replaced by "Z".

"unknown" is also seen in the histogram tsv output name.

  • Show correct coordinate when using TSV output from spectral profiler
  • Show correct coordinate (histogram?) when using TSV output from histogram

imageViewer: incorrect cursor coordinate

frontend version: 8f455e0 (ASIAA backend)

The test images can be accessed via (400MB+)
https://drive.google.com/file/d/1LWa6dkkFrLjqqeq88TBViiIiWqFjMKSW/view?usp=sharing (400MB+)
https://drive.google.com/file/d/17_idrAMvtLbMhNapAGguzi7tB_vai1wb/view?usp=sharing (small one)

With these test images, the cursor coordinate is shown incorrectly. R.A. should not have a negative hour.
screen shot 2018-10-19 at 10 01 57 am

Update:
it appears that crossing the R.A.=12h line will produce this issue. When R.A. < 12h, the cursor R.A. is correct, not for R.A. > 12h.
screen shot 2018-10-19 at 10 15 53 am

Update 2:
crossing R.A.= 0h will also have this issue. Try "J2000_test.hdf5"

[animator] no radio button is checked

To reproduce (found from testers feedback):

  1. open J2000_test.hdf5
  2. append orion_12co_hera.hdf5
  3. in animator, click "Frame" radio button
  4. open cube_x419_z101_68MB.hdf5 (so the previous two are closed)
  5. now in animator, there is only "Channel" radio button and is not checked. So hitting "play" results in nothing.

animator: redundant channel index

when viewing a cube with a small number of channels, some redundant indices show up as shown in the attached image. Note that the Stokes axis does not have this issue.

screen shot 2018-09-05 at 11 05 04

Line plot enhancements

There are a number of enhancements that the line plot component needs:

  • Zooming in Y and XY
  • Horizontal markers (e.g. for mean values)
  • Rectangular markers (non-interactive) (e.g. for RMS indicator)
  • Optional callback for tick formatting
  • Options for showing/hiding X and Y labels
  • Line/point options for data

[improvement] overlay setting defaults

title -> font size to ~18. 24 is a bit too large.
numbers -> font size to ~12. 10 is a bit too small.

please rotate y-tick label by 90 degree so that y-axis label can be displayed independent of the precision of y tick numbers.

We are almost there! Well done!

[overlay settings] labels and numbers

Now with "Toggle labels" button on the image viewer when hovering on, the GUI state is not sync'd. When "Toggle labels" is False, the two "visible" are still True in the overlay settings.
screen shot 2018-12-07 at 13 12 46

I suggest we rename "Toggle labels" to "Toggle labels and tick numbers" or something similar to be consistent with what it actually does. We will need to make sure the UI state is sync'd.

Do we really need "Toggle labels" button? Not sure this is a commonly used action to turn off labels and tick numbers. We can keep it for now and listen to what users think.

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.