Uploaded image for project: 'The Virtual Brain'
  1. The Virtual Brain
  2. TVB-2418 Redo Traits
  3. TVB-2489

Create Simulator Wizzard with neoforms

    XMLWordPrintable

    Details

    • Type: Sub-task
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0
    • Component/s: None
    • Labels:
      None
    • Environment:
      web GUI
    • Sprint:
      TVB release 2.0
    • TVB-C Task:
      8.2 Pipeline Integration

      Description

      We want to keep neoforms as simple as possible, especially the UI params serialization and deserialization. Thus we are thinking a list of steps to be done in GUI for configuring a simulation will help us.

      The middle part of the Simulation-Burst page should be iteratively populated, as the user goes through the flow of configuring a Simulation.

      • first choose a connectivity DT, plus coupling and conduction speed (this would be the first form)
      • once submitted the input data for this form, the values chosen by the user are collected on the server, in session, in a HasTraits object.
      • The user will choose next if she wants a surface-based simulation or not, and based on this decision, we will analyze the decision on the server, and return as next form the one for choosing a RM plus Local Connectivity (if surface based sim).
      • stimulus will be a third step, because we will need to know if it is surface based or not, to filter available Sensors. (for surface-based simulations both Region Stimulus and Surface Stimulus can be applied).
      • next the use could see the combo box with the Model classes, plus the documentation text for each class, and 3 buttons to proceed: "manual fill params", "setup region model" or "surface setup model" (if surface based)
        • if "manual fill" the subform for the currently selected Model class will appear next
      • A following step should be selection of monitored SV, regardless of the previous choice
      • Integrator list + subform based on choice
        • integration step, as being a common param could be displayed at this level directly? 
        • if stohastic, maybe merge the next 2 levels in forms: "Aditive", "Multiplicative - Linear", "Multiplicative *" .... to avoid too many steps
      • Monitors
        • Bold will be the only one with extra config step
      • Finally length and "Simulation name", and RUN

       

      I advice a completely new Controller class (e.g. SimulatorController), for simplicity.

      Open question: currently the way we use controllers in cherrypy is as Singletons. Is it possible to have easily a new controller instance for each user session. Otherwise, we should put in cherrypy session the "SimulationConfiguration(hasTraits)" object and retrieve it between requests.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                paula.popa Paula Popa
                Reporter:
                lia.domide Lia Domide
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                  Dates

                  Created:
                  Updated:
                  Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 5 weeks
                    5w
                    Remaining:
                    Remaining Estimate - 0 minutes
                    0m
                    Logged:
                    Time Spent - 4 weeks, 4 days, 7 hours, 30 minutes Time Not Required
                    4w 4d 7h 30m