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

Create Simulator Wizzard with neoforms



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


      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


            Issue Links



                paula.popa Paula Popa
                lia.domide Lia Domide
                0 Vote for this issue
                2 Start watching this issue



                    Time Tracking

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