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

User story 1 for oSparc-S4L:web #496

Closed
esraneufeld opened this issue Aug 16, 2021 · 2 comments
Closed

User story 1 for oSparc-S4L:web #496

esraneufeld opened this issue Aug 16, 2021 · 2 comments

Comments

@esraneufeld
Copy link
Member

esraneufeld commented Aug 16, 2021

  • A new study is set up
  • Using the functionality in the bread crumbs bar, the following services are added to it and brought into the following order:
    • image import: A file import service (picker) (*)
    • image segmentation: A python runner service with AI libraries
    • segmentation inspection and correction: An iSeg service (*)
    • nerve model creation: A python runner Smash service
    • electrode creation and placement: A S4L GUI service (*)
    • simulation setup and execution: A python runner Smash service
    • results visualization: Another S4L GUI service (*)
    • interactive exploration through jupyterlab smash (*)
  • A python script and neural network descriptor (to be provided to the team) are inserted into the python runner service (how? Preferably not through a picker, as they should be permanently stored in the pyhon runner service). They are to perform he task of presegmenting the image
  • Another python script is uploaded into the python runner Smash service (to be provided to the team). That script is to convert the image segmentation into a smash file with a nerve model, incl. neuro-functionalization.
  • Another python script is uploaded into the python runner Smash service (to be provided to the team). That script is to accept a smash file and to convert a meshed and neuro-functionalized nerve model adhering to some naming conventions for regions, boundary batches, and neurons into EM and neuro simulations, to execute them using the computational service execution API, and to perform some analysis of the results, before saving the resulting smash file again.
  • Using the corresponding dialog, a guided mode version is set up in which only the file picker, the iSeg, the two s4l gui services, and the jupyterlab are visible (marked with (*) above).
  • The study is saved and converted into a template
  • In the dashboard a study launched from that template, in guided mode
    • An image file is picked. Next
    • The result of the AI segmentation is inspected and corrected using iSeg. Next
    • An electrode is modeled and placed on the nerve geometry. An unstructured mesh is generated. Patches for the boundary conditions are defined. Next
    • Results are visualized, based on the available data (field sensor, titration sensor…).
  • The study with results is shared with all of z43

Bonus: instead of twice inserting complete S4L service, only the modeler version of it is inserted in the first instance and only the postpro/viewer in the second instance

todo: jupyterlab step


  1. Modeling preparation with the structured solver
    • Import segmented image
    • Extract outlines
    • Convert outlines into surfaces
    • Extrude surfaces along a trajectory spline
    • Model electrodes using constructive geometry and place them
  2. Modeling with the structured solver
    • Create an ohmic current dominated structured LF sim
    • Assign the nerve geometry and electrode entities
    • Assign material properties (ideally from the tissue database) and turn electrodes to PEC
    • Assign dirichlet boundary conditions to the electrodes
    • Set pgrid properties and generate the grid
    • Set voxel priorities and voxel
    • Set solver settings (tolerances...) and run
    • Use the current density, the flux integration, and the normalization tool to normalize the simulation results to a 1mA total current
  3. Model preparation for unstructured EM simulation:
    • Import segmented image
    • Create surface mesh on the labeled image
    • Extrude surface mesh outlines along a trajectory spline
    • Model electrodes using constructive geometry and place them
    • Use mesher tool to convert nerve geometry and electrodes into unstructured mesh
    • Merge mesh on the nerve with the mesh on the electrode geometry
    • Define named patches at the electrode tissue interfaces for the boundary conditions using the patch tool
  4. Modeling with the unstructured solver
    • Assign mesh to an unstructured LF sim
    • Assign material properties (ideally from the tissue database) and turn electrodes to PEC
    • Assign dirichlet boundary conditions to the patches
    • Insert a thin layer between the segmented fascicles and the epineurium
    • Set solver settings (tolerances...) and run
  5. Model preparation and modeling with the neuron solver
    • todo
@odeimaiz odeimaiz changed the title User story 1 for S4L:web User story 1 for oSparc-S4L:web Sep 15, 2021
@mguidon
Copy link
Member

mguidon commented Oct 7, 2021

Update on sprint Capra

Done

  • Extrusion of surfaces along line
  • Extensive refactoring of Simulator Framework in Desktop and Web-Application for sharing Tools
  • Porting of EmLf Rectiliear Simulators, EmLf Unstructured Simulators and Neuron Simulator
  • Partial implementation of simulator coupling and entity/concept assignment
  • Revamp of user interface in accordance to UI/UX feedback
  • ICONZ

Ongoing

  • Run simulations in cloud
  • Progress redirection

Open

  • Analysis Framework refactoring as with Simulator
  • Finish Simulator Functionality
  • Floating Dialog infrastructure
  • Material Database

@esraneufeld
Copy link
Member Author

esraneufeld commented Oct 18, 2021

image
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants