GithubHelp home page GithubHelp logo

devinbayly / neuro-choro Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 21.18 MB

Live tool accessible at

Home Page: https://devinbayly.github.io/neuro-choro

JavaScript 96.46% CSS 1.79% HTML 0.98% Python 0.77%

neuro-choro's Introduction

neuro-choro's People

Contributors

devinbayly avatar

Watchers

James Cloos avatar  avatar  avatar

neuro-choro's Issues

cartesian product csvs

This is a feature request to handle csvs that have multiple references to a region. One example is in the case where there are multiple runs of the data. If this is true, then there would be a column named run and filterable elements within that column to switch between what value is shown at a time.

Mostly this question relates to what the default aggregate behavior should be when it comes to displaying a column like mean when multiple values exist for one region.

Display atlas choice

It might be useful to explicitly say which atlas is being displayed.
If there are multiple atlases, then it might be nice to have a toggle or dropdown that allows you to select the atlas to fetch.

I could also imagine that there would simply be separate notebooks for each atlas choice, but if it is relatively easy to allow users to pick which JSON file to fetch and display the current selection's name (e.g., HO-CB), that would be really nice.

fetch statement mislabeled?

Your code says: ...neuro-choro/HCP/src...
but the atlas you have displayed is the HO-CB atlas, so I'm thinking the totalfix.json is not associated with the correct path. (Note: I am glad the HO-CB atlas is the default)

Readme does not make sense.

Choropleths are simple maps that display regional changes as color (e.g., a US map showing states that lean Democrat vs Republican). Here is an example of a brain choropleth.

(Umm, but there is no picture of a choropleth here)

There is more in this readme that does not make sense in this context.
It might make sense to refer people to my read the docs page: https://neuroimaging-core-docs.readthedocs.io/en/latest/pages/choropleths.html

We probably should not refer "Devin Bayly's work" as a work in progress etc.

You might read it over carefully and decide what works.

What does this mean? "Graphs using plotly from the data shown in the imaging panes."

I see this statement on the report view...but I have no idea what it means. That is, are you telling us we could create plots with plotly (but with no indication of how to proceed)?
Or are you giving credit to plotly for the choropleths? (This seems unlikely).

Maybe this statement should go away, or maybe you should point to more comprehensive documentation (your code documentation, documentation on adding plotly plots etc.)
Else, I'm really missing something.

adding legend for color

What should be the representation of color in the gradient if both negative and positiev values are in the range of the color column?

radio button jumps

Clicking on the brain view of a different pane accidentally resets the radio button for other panes. Likely due to the way a section of radio buttons work, where only one can be active.

Left align everything

The buttons (add pane etc.) should be left-aligned with the text. The panel should also be left-aligned with the text.
Obviously a totally minor issue, but it'd look even nicer, I think.

Screen real estate

I have a very big screen, so I can see the brain and several region panels at the same time.
I'm wondering if we could save some vertical space though to improve what can be seen without scrolling:
I think there are several places where you could layout components horizontally:

  1. The name of the uploaded csv could be to the right of the Upload CSV button.
  2. The fill color filter could be more like the slice selector slider (i.e. smaller and to the right of its label.
    3): In the selected region panel, it could be "Selected region: HG_L" instead of splitting that on two lines.
  3. In the selected region panel, View and Slice could be on the same line, i.e., "axial: 6mm"

Color does not always appear on map

I saw this behavior in Chrome (no color displays on brain map), where I was not able to display the color even though it existed at that slice for that dataset and did display in Firefox.

edges of slider create giant region blobs on canvas

This is likely due to a problem with the region coordinates and canvas coordinates conversion. A single calculation should be made over the entire geojson stack first and then the min and max values of that should be set to the largest our canvas content can be.

Interaction of "Alt column" and "selected region panel"

If I load LearnRuns.csv and click a region to see the region value for run1 (for example), the "selected region panel" is displayed.

If I switch the alt column to run2 and click the same region, the selected region panel disappears. Although it is the same region, it is a different value.

Is it possible to switch the disappearance of the selected region panel to occur only if it is not an exact match?

Provide more flexible Fill Color Filter Range setting

Although I can see at a glance that the range has changed in the color bar, the images all LOOK exactly the same.

This, I suppose, is because you have cleverly set the range of values to be perfect for each dataset.
What I want (I think) is greater flexibility to set the range of values in the choropleth viewer.
If I could set multiple panes to be the same (e.g., 0 to 8.6), then it would make visual comparisons easier.

prevent layout shifting

The present state of the tool allows for new CSV data to be uploaded, but this causes some elements to be removed and then replaced. The issue is that the position after this operation is not constant. Likely need to have a holder element which doesn't go away that is placed at initialization, and then removal and replacement will not shift position.

Two sliders should not look completely different

Slice selector is underlined and to the left of its slider (it needs some space between it and the text)

Fill Color Filter has a completely different look: No underlining for the text, the slider color and size is different, and the slider is under the text.

These should be more consistent with each other. I'd say the Fill Color Slider is the odd man out, and it should resemble the Slice selector.

import csv

The csv that was used during a session should get stored with a session json file, and used upon import.

legend

Have a legend next to the canvas with the color gradient and numerical values associated.

remove pane button

There should be a way to delete an entire pane from the page and the application list.

Revise color range to display more obvious distinctions

I think my old eyes need a larger range of color values.
Could we go all the way to bright red?
OR, FSLeyes has a hot colorbar which does red-orange-yellow. That is pretty good for seeing distinctions at a glance. There may be other solutions??

Relation of slider and legend unclear

I don't understand the behavior of the slider: it starts off blues, I move it around and it switches to reds but seems to have set its own min and max?

The legend also shows a different range than the slider sometimes.
Just a bit weird

Title the panes

You suggested adding the name of the loaded CSV to the annotation box. That seems more important than ever since we can load multiple csvs.
I'm wondering if it might be even nicer to display the name of the CSV at the top of the pane next to the load CSV button (since they are related).

Slice Display/Update bug

Slice labeled incorrectly:
Neuro-Choropleth_Tool_DisplayBug

What I did:
I loaded the same CSV (same as LearnRuns...relabeled as NAD2_Learn_IC2) 4 times, intending to display the 4 runs side by side. All are axial view on slice -6mm.

The Problem: Run2 is different...it should match the others but doesn't.
Additional information: Scrolling from top to bottom, it looks like run2 is the only one that was correct...the others match that slice if I scroll them to the bottom and back up to slice -6.
In fact, the others were displaying slice 6mm instead of slice -6mm.

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.