Detailed Description


SCIRun/BioPSE Workshop

Rob MacLeod and Dave Weinstein


1 Overview

A major mission of the NCRR Center at Utah is to develop and distribute advanced software for scientific computing of bioelectric fields problems. An essential component of this process is to present our software to the user and developer community and to solicit their feedback, suggestions, and eventually feedback and contributions. To support this evolution of the software and facilitate its use by biomedical scientists, we have proposed a series of workshops and the purpose of this document is to describe the structure of these workshops.

The overall plan is to have three days organized approximately as follows:

Day 1: User day #1

  • Background to BioPSE/SCIRun and map3d concepts; examination of a sample problems; demos of nets; elements of BioPSE/SCIRun; hands-on playing with existing nets and map3d scripts;

Day 2: User day #2 and Developer day #1

  • Joint session #1: advanced elements of BioPSE/SCIRun: module categories and organization, fields, I/O mechanisms and file conversion, debugging networks; map3d options and usage, scripting in map3d.

  • Users' session: hands on design, implementation and debugging of user-defined networks and map3d scripts.

  • Developers' session: installation and configuration; GUI design options and guidelines; source code organization; threads; persistent I/O; namespace, on-the-fly-compile; contributing code to BioPSE/SCIRun project.

  • Joint session #2: discussion among users and developers to exchanges experiences, describe projects, identify needs and possible new modules

Day 3: Developer day #2

  • Discuss suggestions and idea from final session of Day #2 and identify possible modules to extend or construct.

  • Making a module: designing modules; programming conventions and standards; data structure details; module maker, etc.,

  • Design and implementation: teams will follow through design process to implement modules.

2 Venue

The lecture/presentation sessions will all happen in the SCI Conference Room in Merrill Engineering Building. The lab sessions will be in the Visual Supercomputing Center, also in Merrill Engineering Building.

3 Detailed Outline


SCI - Scientific Computing and Imaging Institute hallway outside conference room.
SCR - SCI Institute Conference Room
VSC - Visual Supercomputing Center

3.1 Day #1

The goal of Day #1 is to develop basic skills among users based on background knowledge, elements of BioPSE/SCIRun and map3d, demo sessions, and hands on experience with existing networks and data.

  1. 9:30 Pick up at University Guest House
  2. 9:45 Coffee and snacks (SCI)
  3. 10:00 Introduction (SCR)
    1. Welcome (Chris)
    2. Overview of the workshop (Rob)
    3. Logistics (meals, user accounts, transportation, etc.,)(Allyne)

  4. 10:10 Background (SCR)
    1. PSE history, motivation, and concepts (Chris)
    2. BioPSE/SCIRun development history (Dave)
    3. map3d history and concepts (Rob)
    4. relationship to NCRR Center and SCI/CVRTI (Rob or Dave)

  5. 10:30 Example problem (SCR)
    1. select one of demos as sample problem, e.g., Tikhonov regularization (Dave)
    2. dissect problem from the top down, covering (Dave)
      • problem statement
      • solution strategies
      • pseudo code
      • modules required
      • network design

  6. 11:00 Elements of BioPSE/SCIRun (SCR)
    1. simplified installation (Dave)
    2. documentation structure and layout (Rob)
    3. dataflow concepts (Dave)
    4. network design and conventions (Dave)
    5. modules: UI and algorithms (Dave)
    6. net files and state description (Dave)
    7. I/O and bridging of data and third party programs (Dave)
    8. viewer interaction (Dave)

  7. 11:45 Demos: (VSC)
    Move to the VSC and run through the BioPSE and map3d demos to illustrate the functionality and dataflow approach (Chris and Rob)
  8. 12:30-1:30 Lunch (SCR)
  9. 1:15-1:25 Introduction to the afternoon lab (SCR)
  10. 1:30-4:00 Lab Session: (VSC)
    Hands-on experience with existing networks and map3d with guidance from Center personnel; encourage modification of existing networks and exploration of features. (All instructors and development team)
  11. 4:00 Free evening

3.2 Day #2

The second day begins and ends with joint sessions of the user and developer groups. In between are parallel sessions to expand on elements relevant to each group. The final session is especially important as is should provide the material for the development practice that makes up the final day of the workshop. This way, users and developers can discuss together their experiences and ideas with what they wish to achieve with BioPSE.

  1. 9:00 Pickup of developer participants at University Guest House
  2. 9:15 Coffee for developers (SCR)

  1. 9:30 Background for developers
    1. PSE history, motivation, and concepts (Chris)
    2. BioPSE/SCIRun development history (Dave)
    3. map3d history and concepts (Rob)
    4. relationship to NCRR Center and SCI/CVRTI (Rob or Dave)

  1. 9:30 Pickup of user participants at University Guest House
  2. 9:45 Coffee for users (SCI)
  3. 9:55 Harass Greg (SCI)
  1. 10:00 Joint session #1 on advanced elements of BioPSE/SCIRun (SCR: Dave)
    1. module categories and organization
    2. source tree organization and underlying program structure
    3. packages
    4. fields and their organization
    5. I/O, file conversion, and bridging mechanisms and approaches
    6. on-the-fly compile
    7. error messages
    8. debugging networks
    9. net files
    10. widgets
    11. scheduling and event management
    12. advanced viewer control and rendering, exporting mechanisms
    13. reporting errors and bugs, feedback

  2. 11:10 Joint session #2 on map3d (SCR: Rob)
    1. goals and task of map3d
    2. basis of spatiotemporal surface rendering
    3. command line options
    4. interactive controls
    5. I/O, converters, and graphicsio


  1. 11:30 Parallel session--Developers: (SCR)
    1. Installation and configuration of SCIRun: (Dav)
      • system specs and requirements
      • environment settings
      • third party codes
      • maintaining shared version
      • creation and management of local source archive
    2. Future of SCIRun (SCR: Steve)
      Overall design goals and future plans for PSE based systems, Common Component Architectures, SCIRun2

  1. 11:30 Parallel session Users: (VSC)
    Design and implement an original network based on anticipated use of BioPSE with the help of Center staff (Rob + Developers)
  1. 12:30 Joint Lunch (SCI and SCR)

  1. 1:30 Developers Session (SCR)
    1. GUIs: relationship between UI and algorithms, design of UIs
    2. Developer elements:
      • source tree structure
      • threads
      • persistent I/O
      • namespaces
      • STL
      • on-the-fly compile
    3. Contributing to SCIRun/BioPSE project
      • patches
      • modules
      • documentation
  1. 1:30 Parallel session Users: (VSC)
    Continue to develop networks (Rob + Developers)

  1. 3:30 Joint session #3: (SCR)
    Discuss the experiences using BioPSE and the applications to which participants wish to apply it. Focus on needs and extensions that would enhance their effectiveness and generate a project list for the final day of the workshop.

  2. 6:00 Depart for dinner
  3. 6:30 Group dinner
    Drinks and hors d'oeuvres on the deck at Millcreek Inn, Millcreek Canyon, then dinner served also on the outdoor deck. Cash bar available.

3.3 Day #3

The third day is dedicated to instruction of the developers in the details of extending the capabilities of BioPSE/SCIRun and applying these new skills to some of the problems generated in the previous day's session.

  1. 9:30 Pickup at University Guest House
  2. 9:45 Coffee (SCI)
  3. 10:00 Project Discussion (SCR)
    Discuss project list from Day #2 and identify candidate problems for discussion and implantation.
  4. 10:30 Making a module (SCR: Marty)
    1. module design process
    2. role and contents of XML files
    3. pseudo code
    4. module maker: the process of creating and anatomy of a module
    5. coding standards and conventions
    6. UI design and construction
    7. modifying ports and data types

  5. 12:30 Lunch (SCI and SCR)
  6. 1:30-4:00 Lab Session (VSC)
    1. Demo for module maker (Marty)
    2. Design and implementation projects: design and implement target modules
    3. 4:00 End of Workshop


Home Contact Us Disclaimer University of Utah
Scientific Computing and Imaging Institute National Institutes of Health National Center for Research Resources