Presentation is loading. Please wait.

Presentation is loading. Please wait.

System Overview CIBC SCIRun / BioPSE System Overview.

Similar presentations


Presentation on theme: "System Overview CIBC SCIRun / BioPSE System Overview."— Presentation transcript:

1 System Overview CIBC SCIRun / BioPSE System Overview

2 System Overview CIBC Problem Solving Environments (PSEs) Core Memory Mgmt Process Mgmt Framework Libraries Modeling SimulationAnalysis Core PSE Chemistry Physics Medicine Biology Astronomy Geoscience

3 System Overview CIBC Integration and Interaction Modeling Simulation Visualization user guides What If?

4 System Overview CIBC SCIRun Goals Integration Extensibility Usability Interactivity Portability Utility Modeling SimulationAnalysis Core SCIRun

5 System Overview CIBC SCIRun and BioPSE

6 System Overview CIBC Overview Computational Science Problem Solving Environments Dataflow Datatypes Software Organization Extensibility PowerApps

7 System Overview CIBC Elements of SCIRun Visual programming Environment

8 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI

9 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI

10 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI MODULE void execute() { // get data from ports // get data from UI // … do work … // set data on UI // send data out ports }

11 System Overview CIBC Module Status Run-time messages are sent to the module’s “log” Startup messages Log message indicator Gray: no messages Red: error Blue: warning/remark Log message indicator Gray: no messages Red: error Blue: warning/remark

12 System Overview CIBC Example Module: CastMatrix SCIRun/src/Dataflow/ Modules/Math/CastMatrix.cc GUI/CastMatrix.xml XML/CastMatrix.xml

13 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI

14 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI ….send get……

15 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI

16 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI Matrix

17 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI Matrix Field ColorMap Geometry

18 System Overview CIBC Network Elements Dataflow Vocabulary Module Dataport Datapipe UI –GuiVars

19 System Overview CIBC Network Design Dataflow Vocabulary Module Dataport Datapipe UI Send and Get GuiVars Scheduler Dependencies loops: send_intermediate

20 System Overview CIBC Network Design Dataflow Vocabulary Module Dataport Datapipe UI Send and Get GuiVars Scheduler Dependencies loops: send_intermediate

21 System Overview CIBC Packages and Categories

22 System Overview CIBC Managing Complexity: Subnets

23 System Overview CIBC Managing Complexity: Subnets

24 System Overview CIBC Managing Complexity: Subnets

25 System Overview CIBC Managing Complexity: Subnets

26 System Overview CIBC Managing Complexity: Subnets

27 System Overview CIBC Managing Complexity: Subnets

28 System Overview CIBC Managing Complexity: Subnets

29 System Overview CIBC Managing Complexity: Annotations

30 System Overview CIBC build-fem-elem-leadfield.net

31 System Overview CIBC dipole-localization-leadfield-vis.net

32 System Overview CIBC build-misfit-and-localize.net

33 System Overview CIBC showmatrix.net

34 System Overview CIBC show-text.net

35 System Overview CIBC Dataflow Datatypes Revisited Matrix Field ColorMap Geometry

36 System Overview CIBC 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;

37 System Overview CIBC 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

38 System Overview CIBC Fields: Mesh + Data Data int, float, double, … Vector, Tensor, … basis Data int, float, double, … Vector, Tensor, … basis Geometry Regular Irregular (basis) Geometry Regular Irregular (basis) Properties PointCloudField ScanlineFieldCurveField ImageField QuadSurfFieldTriSurfField LatVolFieldHexVolField TetVolField

39 System Overview CIBC Persistence Networks Serialize data for disk I/O Architecture independent Smart pointers Byte swapping Data files are (somewhat) human readable, but should ~not~ be generated / edited by anything other than SCIRun Use “convert” programs

40 System Overview CIBC Persistent void Matrix::io(Piostream& stream) { /* int version = */ stream.begin_class("Matrix", MATRIX_VERSION); PropertyManager::io(stream); stream.end_class(); } void ColumnMatrix::io(Piostream& stream) { /* int version = */stream.begin_class("ColumnMatrix", COLUMNMATRIX_VERSION); Matrix::io(stream); stream.io(rows); if(stream.reading()) { data=scinew double[rows]; } int i; for(i=0;i<rows;i++) stream.io(data[i]); stream.end_class(); }

41 System Overview CIBC Example Datasets

42 System Overview CIBC Overview Computational Science Problem Solving Environments Dataflow Datatypes Software Organization Extensibility PowerApps

43 System Overview CIBC Source Tree Organization SCIRun BioPSE MatlabInterface Core Dataflow StandAlone Packages linux src docs Core: algorithms, datatypes, math, threads Dataflow: network, modules, ports, scheduler StandAlone: converters, utilities Core: algorithms, datatypes, math, threads Dataflow: network, modules, ports, scheduler StandAlone: converters, utilities

44 System Overview CIBC SCIRun Categories Fields FieldsCreate –“sources” for new Fields –e.g. SampleLattice, FieldBoundary, ClipByFunction FieldsData –Just change data for an existing Field (Mesh untouched) –TransformFieldData, ManageFieldData, DirectMapping / ApplyMappingMatrix FieldsGeometry –Just change geometry for an existing Field (Data untouched) –Unstructure, HexToTet, QuadToTri –TransformField FieldsOther –Miscellaneous (FieldInfo, ChooseField, FieldMeasures, …) Visualization ColorMaps Isosurfaces

45 System Overview CIBC Extensibility Leverage existing utilities Extensibility through bridges SCIRun Matlab mpeg libimage Teem GENESIS lib socket lib SQL

46 System Overview CIBC Three Approaches Data Level Command line tools to convert files Communicating data across sockets Library Level Teem, BLAS, ITK Application Level Rewrite algorithms natively in SCIRun

47 System Overview CIBC Converters Convert between human-editable text (e.g. CVRTI.pts,.dat files) and SCIRun Persistent objects See examples in SCIRunData/convert-examples/ Each converter gives you usage info if invoked without arguments: dmw stitch% TextToHexVolField Usage: TextToHexVolField pts hexes HexVolMesh [-noPtsCount] [-noElementsCount] [-oneBasedIndexing] [-binOutput] [debug] This program will read in a.pts (specifying the x/y/z coords of each point, one per line, entries separated by white space, file can have an optional one line header specifying number of points... and if it doesn't, you have to use the -noPtsCount command-line argument) and a.hex file (specifying i/j/k/l/m/n/o/p indices for each hex, also one per line, again with an optional one line header (use -noElementsCount if it's not there). The hex entries are assumed to be zero-based, unless you specify -oneBasedIndexing. And the SCIRun output file is written in ASCII, unless you specify -binOutput. Plug-ins for Readers / Writers

48 System Overview CIBC Data Import / Export

49 System Overview CIBC MatlabInterface

50 System Overview CIBC Three Approaches Data Level Command line tools to convert files Library Level Teem, BLAS, ITK Application Level Rewrite algorithms natively in SCIRun

51 System Overview CIBC ITK Integration

52 System Overview CIBC Teem

53 System Overview CIBC Overview Computational Science Problem Solving Environments Dataflow Datatypes Software Organization Extensibility PowerApps

54 System Overview CIBC Managing Complexity: UIs Subnets Annotations

55 System Overview CIBC All Modules are “Generic”

56 System Overview CIBC PowerApps: User-Friendly, Domain-Specific

57 System Overview CIBC Power Apps

58 System Overview CIBC Power Apps Problem specific applications Hide the complexities of dataflow Provide a simplified graphical user interface Focus on a specific Problem specific applications Hide the complexities of dataflow Provide a simplified graphical user interface Focus on a specific task

59 System Overview CIBC Power Apps Guide the user through specific processing steps Processing Pane

60 System Overview CIBC Power Apps Provide different visualization options Visualization Pane

61 System Overview CIBC BioFEM Encapsulation of the forward-fem network http://software.sci.utah.edu/doc/User/Tutorials/BioFEM/BioFEM.html Change datasets Streamlines Isosurfaces Electrodes Change datasets Streamlines Isosurfaces Electrodes

62 System Overview CIBC BioTensor Diffusion Tensor Imaging Processing Steps Data Acquisition Registration Building Tensors Visualization Options Diffusion Tensor Imaging Processing Steps Data Acquisition Registration Building Tensors Visualization Options Planes Isosurfaces Planes Isosurfaces Glyphs Fibers Glyphs Fibers http://software.sci.utah.edu/doc/User/Tutorials/BioTensor/BioTensor.html

63 System Overview CIBC BioImage Volume Rendering Processing Steps Crop Resample Histogram Eq Visualization Options Volume Rendering Processing Steps Crop Resample Histogram Eq Visualization Options Slices MIPs Slices MIPs Window Width / Level Multi-dimensional Transfer Functions Window Width / Level Multi-dimensional Transfer Functions http://software.sci.utah.edu/doc/User/Tutorials/BioImage/BioImage.html


Download ppt "System Overview CIBC SCIRun / BioPSE System Overview."

Similar presentations


Ads by Google