Skip to content
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

TI Planning #91

Closed
13 of 15 tasks
esraneufeld opened this issue Dec 12, 2019 · 9 comments
Closed
13 of 15 tasks

TI Planning #91

esraneufeld opened this issue Dec 12, 2019 · 9 comments
Assignees
Labels
Epic Zenhub label (Pleas do not modify) PO issue Created by Product owners

Comments

@esraneufeld
Copy link
Member

esraneufeld commented Dec 12, 2019

Timebox in this SPRINT to 3d

TIsolution will be building dedicated HW to administer temporal interference stimulation and requires associated software for treatment planning (TP).
That TP SW will be built based on oSPARC.
A first version should be finished by mid 2020. It will primarily require managing of studies, access rights, 3D viewing and picking, visualization, running Python analyses, as well as access to a library of precomputed fields.

For detailed information (e.g., the required steps and functionalities for the first version), see the attached presentation TI_SW_ideas.pptx.

The second version is expected to be an excellent example for the implementation of the guided mode.

all of the below is to be discussed and just a first idea:

general considerations:

  • precomputed head fields
  • accounts, login
  • (step-by-step, dedicated view - guided mode)
  • navigation: previous / next, ability to jump to any of the completed steps and, continue from there (ask if results should be discarded), return to dashboard (save current state), completing last step returns to dashboard

next steps:

  • rewrite of optimization service to use joint library with postpro service
  • predefined report template (and means for us/users to define that template) that automatically get's evaluated when results are available.
  • execution logic, when navigating the bread crumbs / buttons
  • selectable libraries of fields (in setup service) to support different heads, different species, other targets (spinal cord...)
    -> available targets (and later also electrode positions) depend on selection.
    if necessary, this can be a new, first service (e.g., based on issue NEUROCOUPLE / NEUROFAUNA service, S-D19, Y3M9 #8 )
  • ( alternative in setup to uniquely select pairs and manually assign currents (rather than optimization) ) <- lower priority

old list of items:

  • dashboard
    new / open (directly jumps to visualization tab, or last completed step) / download previous report
  • select head model (different heads? animal heads? other regions? – NK: start with one head)
  • select target (parcelation-based) – combine with previous steps, if electrode locations do not change
    in tree, visualized in 3D view with highlighting, (un-)picking, multiselection possible
  • select potential electrodes
    3D view picking, with highlighting for current selection, already selected electrodes are coloured in two strong collors (per channel)
    four drop-down selections (two per channel); each with a pick button
  • steering parameters (potentially combined with next step for interactivity, or with previous one)
    option enter / optimize
    if enter: editable current property per channel
    if optimize: optimize when next is pressed / when optimize button is pressed?; show progress while optimization is performed
    button to export settings (for transfer to HWSW)
  • visualization
    DASH? selection of view (3D, 2D slice, graphs) or pannel?
    3D view: quantity selection (modulation amplitude, current per channel, sum of currents), iso-surface of selected quantity, semi-transparent 3D brain w/wo parcelation
    slice view: slice orientation (main planes only), quantity selection (modulation amplitude, current per channel, sum of currents), overlaid contours of parcelation?, scroll
    2D plots: cumulative histograms (target, non-target), option to add additional curves (selection from parcelation regions), toggle visibility of curves
    always displayed scalar quality metrics (focality, coverage), also per parcelation region? safety metrics?
    button: download report (pdf?, contains stimulation configuration & settings & all of the above views)
@KZzizzle KZzizzle added Epic Zenhub label (Pleas do not modify) PO issue Created by Product owners labels Mar 20, 2020
@mguidon
Copy link
Member

mguidon commented Oct 15, 2020

Status Report after Shu

Definition of Done: Have a workflow with down-sampled simulation results

  • electrode selector [100% done]
  • optimizer: There is a bug. (Waiting for input from Valeriia, But I strongly suggest I take care of that myself. I just need documentation for the applied algorithm)
  • server side functionality for creation of arbitrary dashboards (markdown, screenshots, plots) for report [100 % done]
  • automatic loading of optimizer results [75% done]

@esraneufeld
Copy link
Member Author

To be done:

  • discussion group on UI
  • four groups on the setup
  • automatic loading of data in last node
  • target regions (smash & drop down)
    (- production database, mouse database)
  • other stuff which is coming

@odeimaiz odeimaiz changed the title TI Treatment Planning TI Planning Nov 15, 2021
@esraneufeld
Copy link
Member Author

next steps

  • SR brings the optimizer into shape
  • the team creates versions of the optimizer with preloaded fields
  • ACa/? writes a voila report service

@mguidon
Copy link
Member

mguidon commented Jan 27, 2022

Status Report after Rudolph

Work from osparc dev team done (except voila mode for jsmash)

  • electrode selector: Awaiting Feedback from @esraneufeld regarding grouping of electrodes into pairs
  • optimizer: Sylvain Reboux is refactoring the kernel. Afterwards reintegration into service can be done
  • postpro: New voila service strategy applied to jupyter-smash and notebook from Antonino required

@mguidon
Copy link
Member

mguidon commented Feb 24, 2022

Status Report after Schumann

Work from osparc dev team done (except redeploying services)

  • Electrode Selector: As it was 1 year ago. I remember @Esra Neufeld wanted to change the logic of how the groups are created for the pair permutations
  • Optmizer: Has been refactored by @Sylvain Reboux but he needs some clarification regarding the N vs N-1 thing in the pre-calculated matrix elements and @Sylvain Reboux and @Antonino Cassara should define the data structure that is going to be passed to the post processing service.
  • Postprocessing: Nothing done, requires a notebook from @Antonino Cassara

@esraneufeld
Copy link
Member Author

during the forthcoming sprint, a new theme will be applied (in synchrony with bruno)

@esraneufeld
Copy link
Member Author

esraneufeld commented Apr 7, 2022

next steps:

  • modify electrode placement widget to have four groups, remove option for field library
  • refactored sweeper from sylvain; generates table with configurations and performance according to three goals
  • voila service that permits to set weight of the three goals, resulting in a sorted table with the 10 prefereable conditions
  • after one condition is selected, a corresponding set of visualizations is generated

next iteration

  • create variants of electrode placement widget for different species (human, mouse, monkey, rat)
  • splitting of visualization service into two: interactive adaptation (fast), report generation (extensive, detailed, accurate)

@esraneufeld
Copy link
Member Author

esraneufeld commented Aug 4, 2022

Misc [Nik]:

  • Movies
  • News items... [Nik, EN, OM]
  • TI BS documentation (the other tool) [OM]:
    • Introduction text
    • Screenshots
    • How to get invitations
    • Link to website
    • Link to the TI-PT docs
  • Branding
    • Email [Nik, OM]
    • Issues?

New Deployment [DK]:

  • Domain name ti-plan.itis.swiss
  • Deployment (in house HW, separated from network)
  • Provision Machine
  • Set Up oSparc
  • Set up operation tests
  • E2E testing [OM]
  • Maintenance Page [ALL]
  • Security Hardening, Safety measures [DK]
  • Create access to speag license server [DK, MaG]

UI [OM]:

  • Two factor authentication
    • Proof of Concept
    • Non trial account
    • Swiss number [Nik]
  • New TI logo [NK, Anja]
  • Restart failed optimizer
  • Only testers:
    • can see Templates/Services
    • can Stop/Edit App
  • Minor UX/UI revisions
  • Manual
    • Repo
    • Write manual [MS, EN, AC]
  • Banner text GDPR [Nik]

Electrode Selector [OM]:

  • Rename: electrode candidates on selection page
  • More logic on the Submit button
  • Shape and Dimensions
  • Add persistency

Optimizer [SR]:

  • Use common package [MaG, SR]
  • Make it work
  • S4L and optimizer versions to the output
  • CI

PostPro [MS, OM]:

  • Use common package [MaG, MS]
  • progress bar in optimizer [MS]
  • skip settings after opti is finished maybe just start it shall it have a separate tab ? show part of it in the other tabs [MS]
  • alignment of fields in table view [MS]
  • mask -> region of interest, rename [MS]
  • visualization, quantification resort in table. Check with Esra [MS]
  • weight ratio rename proportion ... [MS]
  • avoid to offer the resolutions 0.05, etc. only. Check with Esra [MS]
  • show more at the bottom to tell people that there is more at the bottom to come [MS]
  • rotating the views, that heads are aligned properly [MS]
  • finalization of 3D views (incl. isosurfaces, electrode visualized) [MS, OM]
  • Make Voila work again [OM]
  • Add correct colors, BK to all graphs [OM]
  • Units kVolts ... V/m. E (V/m), time (s) [OM]
  • Color things in the table ? color dots with titles in table for slider bars, selectors [OM]
  • Fonts, colors [OM]
  • When selecting a configuration color the entire line that it's visible what was chosen [OM]
  • Put titles to the axis [OM]
  • Report [MS]:
    • Introduction text?
    • Rename electrodes to E1+...
    • Add an image of locations?
    • Show pipeline versions
    • Restyle plots for white background [OM]
  • Add persistency [MS, OM]

S4L PostPro [CR]:

  • Auto import the input into s4l:web

@elisabettai
Copy link
Contributor

Closing, follow-up in #670

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic Zenhub label (Pleas do not modify) PO issue Created by Product owners
Projects
None yet
Development

No branches or pull requests

9 participants