Biomedical Computing and Visualization - PowerPoint PPT Presentation

1 / 66
About This Presentation
Title:

Biomedical Computing and Visualization

Description:

Biomedical Computing and Visualization – PowerPoint PPT presentation

Number of Views:121
Avg rating:3.0/5.0
Slides: 67
Provided by: chris1157
Category:

less

Transcript and Presenter's Notes

Title: Biomedical Computing and Visualization


1
Problem Solving Environments for Scientific
Computing
Chris Johnson
Scientific Computing and Imaging Institute School
of Computing University of Utah
2
Computational Cardiology
3
Computational Neuroscience
4
Biomedical Visualization
5
DOE ASCI Center CSAFE
6
Time Dependent Combustion
7
Fracture Close-Up
8
DOE SciDAC Center Nuclear Fusion
9
Seismic Simulation and Visualization
10
Elastohydrodynamic Lubrication (EHL)
11
CFD Time Dependent Visualization
12
Genetics
13
Surgical Planning
14
Computational Science
Computational X - Chemistry - Physics -
Biology - Medicine - Fluid Dynamics -
Geoscience -
  • Common Tools
  • Image Processing
  • - Mesh Generation
  • - Approximation
  • - Linear Algebra
  • - Visualization

Infrastructure - Memory Mgmt - Process Mgmt -
Framework
15
Problem Solving Environments (PSEs)
Chemistry
Physics
Core Memory Mgmt Process Mgmt Framework Libraries
Biology
Geoscience
Medicine
Fluid Dynamics
16
Problem Solving Environments
  • Computational Workbench
  • Modeling, Simulation,
  • Visualization Tools
  • Dataflow Programming
  • Modules
  • Spatial/Temporal Coherence
  • Computational Steering
  • What if..? Problem Exploration
  • Flexible, Extensible Environment
  • Module Development Tool

17
Problem Solving Environments
18
SCIRun
  • Modules - functional elements
  • Computation
  • Visualization
  • Modeling
  • Imaging
  • Data flows through ports
  • Fields - the main data model
  • Nets - are the application

19
Packages
  • Encapsulated project
  • Hierarchical organization of modules
  • Packages enabled via configure options
  • configure --enable-packageBioPSE mypackage

20
Dataflow Datatypes
Matrix
Field
ColorMap
Geometry
21
Matrices Class Hierarchy
  • Matrix base class
  • get, put, , nrows, ncols, get_row, get_col,
    get_val, zero, mult, mult_transpose, print,
    is_,as_,sparse,dense,column, cg_solve,
    bicg_solve, scalar_multiply
  • SparseRowMatrix
  • int rows, int cols, double a, int nnz
  • ColumnMatrix
  • double data
  • DenseMatrix
  • double data

22
Matrices External Libraries
  • PETSc
  • Preconditioners jacobi, bijacobi, sor,
    eisenstat, icc, ilu, asm, sles, lu, mg, spai,
    milu, nn, cholesky, ramg
  • Solvers KSRICHARDSON, PSPCHEBYCHEV, KSPGG,
    KSPGMRES, KSPTCQMR, KSPBCGS, KSPBGS, KSPTFQMR,
    KSPCR, KSPLSQR, KSPBICG, KSPPREONLY
  • BLAS and Atlas
  • Faster linear-algebra via loop unrolling

23
Fields Mesh Data
Data int, float, double, Vector, Tensor,
Geometry Regular Irregular
Properties Data_at (center)
24
Example Datasets - On Line
25
Algorithm Structure
  • Templated Algorithm
  • Composed with Field classes to provide optimized
    implementation
  • Uses dynamic compilation to create required
    combinations
  • Potentially specialized for specific field type

templateltclass Fieldgt RenderField public
RenderFieldBase
virtual void render(FieldBase)0
26
Visualization at All Levels
  • Application level
  • Streamlines, cutting planes, isosurfaces, volume
    rendering, etc.
  • System level
  • Module profiling
  • Memory allocator visualization
  • Links to TAU

27
Error Messages
  • Run-time messages are sent to the modules log

28
Interactive Large-Scale Visualization
29
SCIRun/BioPSE Extensibility
  • Leverage existing utilities/programs
  • Extensibility through bridges

GENESIS
Matlab
NetSolve
SQL
lib
socket
BioPSE
PETSc
lib
ITK
lib
30
Adding a Module to SCIRun/BioPSE
  • Rapid development/protyping tool
  • ModuleMaker ComponentWizard
  • Start with a generic template
  • Design ports, interface, callback
  • Compile on-the-fly
  • Dynamically reload

31
Component Wizard
  • Creating a new module

32
(No Transcript)
33
Adaptive Finite Elements
34
Inverse EEG Simulation
35
Source Localization Algorithm
Data
36
(No Transcript)
37
Forward/Inverse EEG Simulation
  • Apply source location
  • 3D adaptive mesh generation
  • Finite element simulation (forward and inverse
    solution)
  • Linear system solve
  • Visualization

400,000 Tetrahedral Elements, SGI and Linux PC
38
Cardiac Defibrillation Device Design
300,000 Tetrahedral Elements, SGI and Linux PC
39
Software Engineering
Software Engineering is Often Overlooked! Software
Engineering is Hard! Software Engineering is
Important!
40
Internal Software Management
  • Shared Software System
  • CVS
  • Log, Track, and Manage Bugs
  • Bugzilla
  • Automated Documentation
  • doxygen
  • Automated System Testing
  • Custom scripts
  • Tinderbox
  • Development Management
  • SCIRun Exec / NCRR Exec
  • Master task list
  • Weekly meetings
  • MS Project

41
Current SCIRun/BioPSE Research
  • Bridging to other Applications and Components
  • Detachable interface
  • Reproducibility
  • CCA compatibility
  • Remote vis
  • Custom UI
  • Scripting
  • Focused applications!

BioPSE
GUI
42
DOE Common Component Architecture Project
  • A CA for large-scale Scientific Computation
  • Component Characteristics
  • May be SPMD or multi-threaded parallel objects
  • Heterogeneity
  • Parallel platforms to desktops and any language
  • Local and Remote
  • Parallel communication for remote parallel
    interfaces and 0-copy in-process connection
  • Dynamic Composition and Integration
  • Hot-swapable components, shared instances
  • www.cca-forum.org

43
Building Applications by Composition
  • Components can be linked along share
    interfaces (Ports) where one component invokes
    the services of another

Remote component
Direct connect
setImage()
Image Database Component
getImage()
doFFT()
ACME FFT Component
adjustColor()
Single address space
Image tool graphical interface component
44
Abstraction - Picasso
45
SCIRun2 Overview
  • Design Goals
  • Distributed memory parallel components
  • Grid computing
  • Meta components to combine
  • CCA
  • SCIRun
  • VTK
  • Other component systems

SCIRun2
46
Component Bridges
Bridges adapt component interactions Automatically
or semi-automatically generated
Maps semantics between multiple software domains
47
Managing Complexity Subnets
48
Managing Complexity Subnets
49
Managing Complexity Subnets
50
Managing Complexity Annotations
51
All Modules are Generic
52
Power Apps
53
PowerApps User-Friendly, Domain-Specific
54
BioPSE
55
BioFEM - PowerApp
56
BioTensor - PowerApp
57
ITK Insight Toolkit
www.itk.org
58
SCIRun and ITK Integration
59
More Apps, More Bridges
NCMIR
60
(No Transcript)
61
(No Transcript)
62
Documentation
63
Acknowledgements
  • NIH NCRR, NLM and BISTI
  • DOE ASCI and SciDAC
  • DARPA
  • NSF
  • Utah Centers of Excellence
  • Visual Influence

64
(No Transcript)
65
(No Transcript)
66
More Information
www.sci.utah.edu
Write a Comment
User Comments (0)
About PowerShow.com