IN4307 Medical Visualisation Module IDPVI

Size: px
Start display at page:

Download "IN4307 Medical Visualisation Module IDPVI"

Transcription

1 IN4307 Medical Visualisation Module IDPVI Dr. Charl P. Botha Week 6, / 38

2 Welcome! Visualisation in Medicine Definition in research, medicine and industry. Learning goals: Function as MedVis engineer / scientist. in4307 is about theory and practice. Course theory based on: Visualization in Medicine, Preim and Bartz, Six modules: 1. IDPVI: Intro,,, VTK, ITK. 2. RAPACP: Representation, Artifacts, Perception, Acquisition, Clinical Practice. 3. IAMV: Image Analysis in Medical Visualisation. 4. VOLVIS: Volume Visualisation. 5. VOLEXP: Volume Exploration. 6. ADVTOP: Advanced Topics. 2 / 38

3 Theory and practice in third quarter. Integrated lectures and exercises. Self-study and homework. Selected self-study papers (questions) and homework exercises will be checked and might contribute to final mark. Project in fourth quarter. Your choice, a number of real-world possibilities will be given. Always first discuss. Submit scientific paper and present your work. Paper specification document, also papers detailing how to write good papers. Course notes. Agile teaching. 3 / 38

4 IDPVI? Basic components needed for the experimental part of the work. 4 / 38

5 Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) 5 / 38

6 Introduction Introduction Challenge: MIA lifecycle What is? Why yet another dataflow application? System description. s and future work. Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) 6 / 38

7 Challenge: MIA lifecycle Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) Need platform to facilitate the MIA lifecycle. 7 / 38

8 Introduction Challenge: MIA lifecycle Delft Visualisation and Image processing Development Environment Cross-platform turn-key rapid prototyping environment for medical visualisation and image processing techniques. Support visual programming. Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) 8 / 38

9 Features Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) Pervasive interaction down to code-level at run-time! VTK, ITK, numpy, matplotlib, statistics, the kitchen sink, all out of the box. Off-line mode for large-scale processing, can be used as black-box by coordination framework, e.g. Nimrod Parameter sweeps Large scale processing (many datasets) Use in production workflow Same software is used for all stages: algorithm prototyping, large-scale processing, and post-process visual analysis. Lovingly dubbed Not Responding by students (32 vs 64) 9 / 38

10 Similar solutions Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Summary AVS, OpenDX, SCIRun, MeVisLab, VisTrails Why? Made for medical vis+ip Introspection Ease of integration Prototyping Hybrid scheduling License. Getting started (ex) 10 / 38

11 Extending: modules Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Algorithm developer: central activity Two requirements for code that needs to be integrated must support data-flow must be callable from (by hook or by crook!) Write class that satisfies module API Drop into modules directory (also at run-time) All encapsulated functionality (VTK, ITK, matplotlib, geometry, etc) in module kits. Summary Getting started (ex) 11 / 38

12 Extending: CodeRunner Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) Insert live code into running network. Pre-module rapid prototyping. Experimentation during learning phase. 12 / 38

13 Summary Introduction Challenge: MIA lifecycle Features BSD open-source virtual laboratory for medvis and ip. Source available, binaries for Win32, Linux, Linux x Used for research, recently integrated in education. Exercises! Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) 13 / 38

14 Getting started (ex) Introduction Challenge: MIA lifecycle Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) 1. Start in Linux by doing: /opt/apps/devide re /dre devide 2. Press F1 for the online help, then go to the Graph Editor section and follow the instructions under A small sample network. 3. Clear the canvas by pressing Ctrl-N. 4. Now build the same network in half the time: (a) Make sure module category ALL is selected. (b) Press Ctrl-F. (c) Typesup in the search box and pressenter. (d) (e) Connect the blocks, press F5. PressESC, then typevw orslice followed byenter. 14 / 38

15 Introduction Data types Control flow, indentation Objects s 15 / 38

16 Introduction Introduction Data types Control flow, indentation Objects Programming language Very high-level Dynamically typed Interpreted Object oriented Ideal for wrapping stuff Great glue s 16 / 38

17 Data types Introduction Data types Control flow, indentation Objects s some integer = 20 some float = 12.2 some string = Hello world! s o m e l i s t = [ some integer, some float, some string ] some tuple = ( some integer, some float, some string ) some tuple = t u p l e ( s o m e l i s t ) # a l t e r n a t i v e l y # watch me s l i c e p r i n t s o m e l i s t [ 0 : 2 ] # e v e r y t h i n g up to j u s t before 2nd item p r i n t s o m e l i s t [ 0 : ] # e v e r y t h i n g up to the end p r i n t some tuple [ 1] # the l a s t item a n o t h e r l i s t = range (10) # 0 to 9 p r i n t a n o t h e r l i s t [6:3: 1] # step reverses d i r e c t i o n # you can t do t h i s some tuple [ 1] = A new s t r i n g # t h i s you can ; m u t a b i l i t y... s o m e l i s t [ 1] = A new s t r i n g 17 / 38

18 Control flow, indentation Introduction Data types Control flow, indentation Objects s some var = 3 some other var = 4 i f some var == 3: p r i n t Hello World! e l i f some other var == 4: p r i n t Good bye World... names = [ Henk, Ernst, Jan, Gert Jan, Gertruida ] for name in names : p r i n t name for i in range ( len ( names ) ) : p r i n t i, names [ i ] i = 0 while i < 10: p r i n t i i += 1 def some function ( some parameter ) : p r i n t some parameter p r i n t t h i s f u n c t i o n ends when the indent changes back some function ( Yoohoo world! ) 18 / 38

19 Objects Introduction Data types Control flow, indentation Objects s # e v e r y t h i n g i n i s an o b j e c t. class some class : def i n i t ( s e l f ) : # t h i s i s the ctor, also note e x p l i c i t s e l f s e l f. i v a r = yoohoo I m home! def s p i l l g u t s ( s e l f ) : p r i n t s e l f. i v a r some object = some class ( ) some object. s p i l l g u t s ( ) import types def r e p l a c e m e n t s p i l l g u t s ( s e l f ) : p r i n t p r i n t I m a v i r u s. p r i n t s e l f. i v a r. upper ( ) replacement # even methods are j u s t c a l l a b l e o b j e c t s some object. s p i l l g u t s = types. MethodType ( r e p l a c e m e n t s p i l l g u t s, some object, some class ) some object. s p i l l g u t s ( ) 19 / 38

20 s Introduction Data types Control flow, indentation comes with the batteries included: standard library contains functionality for almost anything. Work through the tutorial on python.org. Make sure you know how to use the library reference. At the prompt, type: import this Read and absorb... Objects s 20 / 38

21 Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 21 / 38

22 Definition Definition VTK Pipelines Pipelines example Visualization ToolKit: Open-source, object-oriented C++ lib. Hundreds of classes, multi-language wrappings. Defacto standard for SciVis. Marketable skill. Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 22 / 38

23 VTK Pipelines Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 VTK processing is based on two processing pipelines: Visualisation pipeline: process data to prepare for rendering e.g. extract surface from volume Graphics pipeline: render processed data. ITK 23 / 38

24 Pipelines example Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK Start Window:: Shell from the main menu. Open basicvtk1.py with Ctrl-O. Execute with File::Run current edit. Experiment by changing vtkspheresource to vtkarrowsource. import v t k spheresource = v t k. vtkspheresource ( ) spheremapper = v t k. vtkpolydatamapper ( ) spheremapper. SetInput ( spheresource. GetOutput ( ) ) sphereactor = v t k. v t k A c t o r ( ) sphereactor. GetProperty ( ). SetColor ( 1. 0, 0.0, 0. 0 ) sphereactor. SetMapper ( spheremapper ) renderwindow = v t k. vtkrenderwindow ( ) renderer = v t k. vtkrenderer ( ) renderwindow. AddRenderer ( renderer ) renderer. AddActor ( sphereactor ) renderwindow. Render ( ) 24 / 38

25 Adding interaction Run basicvtk2.py in the same way: import v t k Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK spheresource = v t k. vtkspheresource ( ) spheremapper = v t k. vtkpolydatamapper ( ) spheremapper. SetInput ( spheresource. GetOutput ( ) ) sphereactor = v t k. v t k A c t o r ( ) sphereactor. GetProperty ( ). SetColor ( 1. 0, 0.0, 0. 0 ) sphereactor. SetMapper ( spheremapper ) renderwindow = v t k. vtkrenderwindow ( ) renderer = v t k. vtkrenderer ( ) renderwindow. AddRenderer ( renderer ) renderer. AddActor ( sphereactor ) i r e n = v t k. vtkrenderwindowinteractor ( ) i r e n. SetRenderWindow ( renderwindow ) i r e n. I n i t i a l i z e ( ) renderwindow. Render ( ) i r e n. S t a r t ( ) 25 / 38

26 vtkfielddata Definition VTK Pipelines Field data Most basic data container Number of named vtkdataarrays Each array: m tuples of n elements each M assumed constant for all arrays Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 26 / 38

27 vtkdataobject Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 vtkdataobject Encapsulates single vtkfielddata instance Simple pile of data Leads to more interesting things... ITK 27 / 38

28 vtkdataset Definition vtkdataset Still has FieldData instance. Also geometry (points) and topology (cells). PointData and CellData (FieldData children) as attributes. Supports different spatial layouts. VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 28 / 38

29 Exercise: VTK dataset from scratch See exercise on same slide in handouts. Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 29 / 38

30 Execution model, pre-5.0 Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 Streaming, demand-driven consumer.setinput( producer.getoutput() ) consumer.getoutput() request passes to consumer, then to producer.getoutput(), then to producer. Data passes all the way down. Only necessary parts of arbitrarily complex network topologies are executed. In other words: call update() on any downstream part to execute upstream ITK 30 / 38

31 New execution model, post-5.0 Definition VTK Pipelines From a client-programmer POV, much the same c.setinputconnection( 0, p.getoutputport(0) ) Algorithms, Executives, Information objects ProcessRequest(), vtkexecutive, vtkalgorithm Specialised in children: RequestData() Update() Pipelines example Adding interaction vtkfielddata vtkdataobject vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 31 / 38

32 ITK Definition VTK Pipelines Pipelines example Adding interaction vtkfielddata vtkdataobject Insight segmentation and registration toolkit Open source, object-oriented, heavily templated C++ library with hundreds of classes, Tcl and Java interfaces Follows many of the same conventions as VTK VTK and ITK pipelines can be easily connected - Manual pages and downloadable ITK Software Guide WrapITK! vtkdataset Exercise: VTK dataset from scratch Execution model, pre-5.0 New execution model, post-5.0 ITK 32 / 38

33 Summary of IN4307 module IDPVI 33 / 38

34 Summary of IN4307 module IDPVI Main introduction Summary of IN4307 module IDPVI 34 / 38

35 Loading and filtering data (ex) First taste of ITK (ex) Self-study 35 / 38

36 Loading and filtering data (ex) See exercise on same slide in handouts. Loading and filtering data (ex) First taste of ITK (ex) Self-study 36 / 38

37 First taste of ITK (ex) See exercise on same slide in handouts. Loading and filtering data (ex) First taste of ITK (ex) Self-study 37 / 38

38 Self-study Loading and filtering data (ex) First taste of ITK (ex) Self-study Read the System Description section of the paper Hybrid scheduling in the dataflow visualisation environment 1. Work through the tutorial 2. Take a brief look at the contents of the standard library 3. Browse through the VTK class list 4. Browse through the ITK Software Guide 5. Make sure you understand the general structure of the whole software framework. Study some of the examples in more detail to get a feel for how ITK does things. Most examples can be implemented directly in / 38

IN4307 Medical Visualisation Module IDPVI

IN4307 Medical Visualisation Module IDPVI IN4307 Medical Visualisation Module IDPVI Dr. Charl P. Botha Week 6, 2012 Course Introduction.................................................................... 2 Logistics.............................................................................

More information

Visualization Systems. Ronald Peikert SciVis Visualization Systems 11-1

Visualization Systems. Ronald Peikert SciVis Visualization Systems 11-1 Visualization Systems Ronald Peikert SciVis 2008 - Visualization Systems 11-1 Modular visualization environments Many popular visualization software are designed as socalled modular visualization environments

More information

Computer Graphics: Introduction to the Visualisation Toolkit

Computer Graphics: Introduction to the Visualisation Toolkit Computer Graphics: Introduction to the Visualisation Toolkit Visualisation Lecture 2 Taku Komura Institute for Perception, Action & Behaviour Taku Komura Computer Graphics & VTK 1 Last lecture... Visualisation

More information

Introduction to Python and VTK

Introduction to Python and VTK Introduction to Python and VTK Scientific Visualization, HT 2013 Lecture 2 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University 2 About me PhD student in

More information

14 Years of Object-Oriented Visualization. Bill Lorensen General Electric Corporate Research and Development

14 Years of Object-Oriented Visualization. Bill Lorensen General Electric Corporate Research and Development 14 Years of Object-Oriented Visualization Bill Lorensen General Electric Corporate Research and Development lorensen@crd.ge.com Object-Oriented Visualization Outline Beginnings Object-Oriented Visualization

More information

Visualization ToolKit (VTK) Part I

Visualization ToolKit (VTK) Part I Visualization ToolKit (VTK) Part I Weiguang Guan RHPCS, ABB 131-G Email: guanw@mcmaster.ca Phone: 905-525-9140 x 22540 Outline Overview Installation Typical structure of a VTK application Visualization

More information

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK Wilfrid Lefer LIUPPA - Université de Pau B.P. 1155, 64013 Pau, France e-mail: wilfrid.lefer@univ-pau.fr ABSTRACT VTK (The Visualization Toolkit) has

More information

VTK: The Visualiza.on Toolkit

VTK: The Visualiza.on Toolkit VTK: The Visualiza.on Toolkit Part I: Overview and Graphics Models Han- Wei Shen The Ohio State University What is VTK? An open source, freely available soiware system for 3D graphics, image processing,

More information

Systems Architecture for Visualisation

Systems Architecture for Visualisation Systems Architecture for Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Systems Architecture 1 Last lecture... Basics of

More information

Introduction to scientific visualization with ParaView

Introduction to scientific visualization with ParaView Introduction to scientific visualization with ParaView Tijs de Kler SURFsara Visualization group Tijs.dekler@surfsara.nl (some slides courtesy of Robert Belleman, UvA) Outline Pipeline and data model (10

More information

Scientific Computing: Lecture 1

Scientific Computing: Lecture 1 Scientific Computing: Lecture 1 Introduction to course, syllabus, software Getting started Enthought Canopy, TextWrangler editor, python environment, ipython, unix shell Data structures in Python Integers,

More information

Introduction to Python and VTK

Introduction to Python and VTK Introduction to Python and VTK Scientific Visualization, HT 2014 Lecture 2 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University About me PhD student in Computerized

More information

Visualisation : Lecture 1. So what is visualisation? Visualisation

Visualisation : Lecture 1. So what is visualisation? Visualisation So what is visualisation? UG4 / M.Sc. Course 2006 toby.breckon@ed.ac.uk Computer Vision Lab. Institute for Perception, Action & Behaviour Introducing 1 Application of interactive 3D computer graphics to

More information

The Visualization Pipeline

The Visualization Pipeline The Visualization Pipeline The Visualization Pipeline 1-1 Outline Object oriented programming VTK pipeline Example 1-2 Object Oriented Programming VTK uses object oriented programming Impossible to Cover

More information

Introduction to scientific visualization with ParaView

Introduction to scientific visualization with ParaView Introduction to scientific visualization with ParaView Paul Melis SURFsara Visualization group paul.melis@surfsara.nl (some slides courtesy of Robert Belleman, UvA) Outline Introduction, pipeline and data

More information

CPS 533 Scientific Visualization

CPS 533 Scientific Visualization CPS 533 Scientific Visualization Wensheng Shen Department of Computational Science SUNY Brockport Chapter 4: The Visualization Pipeline This chapter examines the process of data transformation and develops

More information

Visualization on TeraGrid at TACC

Visualization on TeraGrid at TACC Visualization on TeraGrid at TACC Drew Dolgert Cornell Center for Advanced Computing TeraGrid-Scale Visualization at Texas Advanced Computing Center Ranger: Sun cluster, 3936 nodes, 62976 cores Spur: Sun

More information

Unit 7: Algorithms and Python CS 101, Fall 2018

Unit 7: Algorithms and Python CS 101, Fall 2018 Unit 7: Algorithms and Python CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Identify whether a sequence of steps is an algorithm in the strict sense. Explain

More information

CME 193: Introduction to Scientific Python Lecture 1: Introduction

CME 193: Introduction to Scientific Python Lecture 1: Introduction CME 193: Introduction to Scientific Python Lecture 1: Introduction Nolan Skochdopole stanford.edu/class/cme193 1: Introduction 1-1 Contents Administration Introduction Basics Variables Control statements

More information

Simple visualizations of unstructured grids with VTK

Simple visualizations of unstructured grids with VTK Simple visualizations of unstructured grids with VTK Roman Putanowicz, Frédéric Magoulès To cite this version: Roman Putanowicz, Frédéric Magoulès. Simple visualizations of unstructured grids with VTK.

More information

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1

Welcome to CS61A! Last modified: Thu Jan 23 03:58: CS61A: Lecture #1 1 Welcome to CS61A! This is a course about programming, which is the art and science of constructing artifacts ( programs ) that perform computations or interact with the physical world. To do this, we have

More information

Contextual Android Education

Contextual Android Education Contextual Android Education James Reed David S. Janzen Abstract Advances in mobile phone hardware and development platforms have drastically increased the demand, interest, and potential of mobile applications.

More information

Introduction to Scientific Python, CME 193 Jan. 9, web.stanford.edu/~ermartin/teaching/cme193-winter15

Introduction to Scientific Python, CME 193 Jan. 9, web.stanford.edu/~ermartin/teaching/cme193-winter15 1 LECTURE 1: INTRO Introduction to Scientific Python, CME 193 Jan. 9, 2014 web.stanford.edu/~ermartin/teaching/cme193-winter15 Eileen Martin Some slides are from Sven Schmit s Fall 14 slides 2 Course Details

More information

Introduction to Scientific Visualization

Introduction to Scientific Visualization CS53000 - Spring 2018 Introduction to Scientific Visualization Introduction to January 11, 2018 The Visualization Toolkit Open source library for Visualization Computer Graphics Imaging Written in C++

More information

Introduction to Scientific Visualization

Introduction to Scientific Visualization Introduction to Scientific Visualization Data Sources Scientific Visualization Pipelines VTK System 1 Scientific Data Sources Common data sources: Scanning devices Computation (mathematical) processes

More information

PYTHON FOR BEGINNERS A CRASH COURSE GUIDE TO LEARN PYTHON IN 1 WEEK CODING PROGRAMMING WEB PROGRAMMING PROGRAMMER

PYTHON FOR BEGINNERS A CRASH COURSE GUIDE TO LEARN PYTHON IN 1 WEEK CODING PROGRAMMING WEB PROGRAMMING PROGRAMMER PYTHON FOR BEGINNERS A CRASH COURSE GUIDE TO LEARN PYTHON IN 1 WEEK CODING PROGRAMMING WEB PROGRAMMING PROGRAMMER page 1 / 5 page 2 / 5 python for beginners a pdf 1. Python for Data Science Cheat Sheet.

More information

Python for Earth Scientists

Python for Earth Scientists Python for Earth Scientists Andrew Walker andrew.walker@bris.ac.uk Python is: A dynamic, interpreted programming language. Python is: A dynamic, interpreted programming language. Data Source code Object

More information

Mavrig. a Tcl application construction kit. Jean-Claude Wippler Equi 4 Software, NL. EuroTcl 2008, Strasbourg, FR

Mavrig. a Tcl application construction kit. Jean-Claude Wippler Equi 4 Software, NL. EuroTcl 2008, Strasbourg, FR Mavrig a Tcl application construction kit Jean-Claude Wippler Equi 4 Software, NL EuroTcl 2008, Strasbourg, FR Let s write an app Tons of packages to build with - Tcllib, etc Choose:! file structure, dev

More information

Local and Remote Visualisation Techniques

Local and Remote Visualisation Techniques Local and Remote Visualisation Techniques UvA High Performance Computing course Robert Belleman, Informatics Institute (II), UvA Paul Melis, SURFsara Casper van Leeuwen, SURFsara Thijs de Boer, Institute

More information

Scientific Python. 1 of 10 23/11/ :00

Scientific Python.   1 of 10 23/11/ :00 Scientific Python Neelofer Banglawala Kevin Stratford nbanglaw@epcc.ed.ac.uk kevin@epcc.ed.ac.uk Original course authors: Andy Turner Arno Proeme 1 of 10 23/11/2015 00:00 www.archer.ac.uk support@archer.ac.uk

More information

Lecture 3: Processing Language Data, Git/GitHub. LING 1340/2340: Data Science for Linguists Na-Rae Han

Lecture 3: Processing Language Data, Git/GitHub. LING 1340/2340: Data Science for Linguists Na-Rae Han Lecture 3: Processing Language Data, Git/GitHub LING 1340/2340: Data Science for Linguists Na-Rae Han Objectives What do linguistic data look like? Homework 1: What did you process? How does collaborating

More information

Basic data representations

Basic data representations Basic data representations Basic data representations 2-1 Overview This chapter will introduce you to basic data representations used for Scientific Visualization. We will discuss different grid structures

More information

Lecture 1. Course Overview, Python Basics

Lecture 1. Course Overview, Python Basics Lecture 1 Course Overview, Python Basics We Are Very Full! Lectures and Labs are at fire-code capacity We cannot add sections or seats to lectures You may have to wait until someone drops No auditors are

More information

(Refer Slide Time: 0:48)

(Refer Slide Time: 0:48) Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Lecture 10 Android Studio Last week gave you a quick introduction to android program. You develop a simple

More information

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline:

AMath 483/583 Lecture 2. Notes: Notes: Homework #1. Class Virtual Machine. Notes: Outline: AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

AMath 483/583 Lecture 2

AMath 483/583 Lecture 2 AMath 483/583 Lecture 2 Outline: Binary storage, floating point numbers Version control main ideas Client-server version control, e.g., CVS, Subversion Distributed version control, e.g., git, Mercurial

More information

Introduction to VTK and Python. Filip Malmberg Uppsala universitet

Introduction to VTK and Python. Filip Malmberg Uppsala universitet Introduction to VTK and Python Filip Malmberg filip@cb.uu.se IT Uppsala universitet Todays lecture Introduction to the Visualization Toolkit (VTK) Some words about the assignments Introduction to Python

More information

Visual Programming. for Prototyping of Medical Imaging Applications. Felix Ritter, MeVis Research Bremen, Germany

Visual Programming. for Prototyping of Medical Imaging Applications. Felix Ritter, MeVis Research Bremen, Germany Visual Programming for Prototyping of Medical Imaging Applications Felix Ritter, MeVis Research Bremen, Germany Outline Prototyping Visual Programming with MeVisLab Image Processing / Visualization Examples

More information

COSC 490 Computational Topology

COSC 490 Computational Topology COSC 490 Computational Topology Dr. Joe Anderson Fall 2018 Salisbury University Course Structure Weeks 1-2: Python and Basic Data Processing Python commonly used in industry & academia Weeks 3-6: Group

More information

ParaView/VTK Visualization Pipeline

ParaView/VTK Visualization Pipeline ParaView/VTK Visualization Pipeline December 2017 Jean M. Favre, CSCS Introduction - Objectives Describe the VTK pipeline and VTK Objects Tie together numpy arrays and VTK Objects Write full pipelines

More information

Scalable and Distributed Visualization using ParaView

Scalable and Distributed Visualization using ParaView Scalable and Distributed Visualization using ParaView Eric A. Wernert, Ph.D. Senior Manager & Scientist, Advanced Visualization Lab Pervasive Technology Institute, Indiana University Big Data for Science

More information

ERTH3021 Exploration and Mining Geophysics

ERTH3021 Exploration and Mining Geophysics ERTH3021 Exploration and Mining Geophysics Practical 1: Introduction to Scientific Programming using Python Purposes To introduce simple programming skills using the popular Python language. To provide

More information

Integrating with Slicer3. National Alliance for Medical Image Computing

Integrating with Slicer3. National Alliance for Medical Image Computing Integrating with Slicer3 NA-MIC Kit Goals Software and Methodologies for Medical Image Computing Facilitate Research Promote Interoperability Stable, Cross-Platform Run Time Environment Full Set of Core

More information

Introduction to MATLAB

Introduction to MATLAB Introduction to MATLAB Aapo Nummenmaa, PhD Athinoula A. Martinos Center for Biomedical Imaging, Massachusetts General Hospital, Harvard Medical School, Boston Background Overview! What is MATLAB?! MATLAB=(MATrix

More information

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department

Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department Al al-bayt University Prince Hussein Bin Abdullah College for Information Technology Computer Science Department 0901212 Python Programming 1 st Semester 2014/2015 Course Catalog This course introduces

More information

Research Computing with Python, Lecture 1

Research Computing with Python, Lecture 1 Research Computing with Python, Lecture 1 Ramses van Zon SciNet HPC Consortium November 4, 2014 Ramses van Zon (SciNet HPC Consortium)Research Computing with Python, Lecture 1 November 4, 2014 1 / 35 Introduction

More information

Insight VisREU Site. Agenda. Introduction to Scientific Visualization Using 6/16/2015. The purpose of visualization is insight, not pictures.

Insight VisREU Site. Agenda. Introduction to Scientific Visualization Using 6/16/2015. The purpose of visualization is insight, not pictures. 2015 VisREU Site Introduction to Scientific Visualization Using Vetria L. Byrd, Director Advanced Visualization VisREU Site Coordinator REU Site Sponsored by NSF ACI Award 1359223 Introduction to SciVis(High

More information

Python. Jae-Gil Lee Based on the slides by K. Naik, M. Raju, and S. Bhatkar. December 28, Outline

Python. Jae-Gil Lee Based on the slides by K. Naik, M. Raju, and S. Bhatkar. December 28, Outline Python Jae-Gil Lee Based on the slides by K. Naik, M. Raju, and S. Bhatkar December 28, 2011 1 Outline Introduction Installation and Use Distinct Features Python Basics Functional Example Comparisons with

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Intro to CSC116 Instructors Course Instructor:

More information

Introduction to Programming Nanodegree Syllabus

Introduction to Programming Nanodegree Syllabus Introduction to Programming Nanodegree Syllabus Learn to Code Before You Start Prerequisites: In order to succeed, we recommend having experience using the web, being able to perform a search on Google,

More information

CS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006

CS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006 CS368: Geometric Algorithms Handout # 2 Design and Analysis Stanford University Monday, 17 April 2006 Homework #1: Arrangements, zones, straight and topological sweeps [70 points] Due Date: Monday, 1 May

More information

CS 780/880 Semester Project Report. Anthony Westbrook

CS 780/880 Semester Project Report. Anthony Westbrook CS 780/880 Semester Project Report Anthony Westbrook Introduction The following paper provides a comprehensive overview and detailed description of my CS880 semester project. An end-user copy of the usage

More information

VisuAlea, Towards a Scientific Modelling Environment using Visual Programming

VisuAlea, Towards a Scientific Modelling Environment using Visual Programming VisuAlea, Towards a Scientific Modelling Environment using Visual Programming Christophe Pradal 1,2 Daniel Barbeau 1, Thomas Cokelaer 1 Eric Moscardi 1 1 INRIA, 2 CIRAD EuroSciPy 20010, Paris, 8-11 July

More information

SCIRun Lab Walkthrough

SCIRun Lab Walkthrough SCIRun Lab Walkthrough SCIRun 4.5 Documentation Center for Integrative Biomedical Computing Scientific Computing & Imaging Institute University of Utah SCIRun software download: http://software.sci.utah.edu

More information

Table of Contents EVALUATION COPY

Table of Contents EVALUATION COPY Table of Contents Introduction... 1-2 A Brief History of Python... 1-3 Python Versions... 1-4 Installing Python... 1-5 Environment Variables... 1-6 Executing Python from the Command Line... 1-7 IDLE...

More information

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008 Course Syllabus Course Title: Compiler Construction Course Level: 4 Lecture Time: Course

More information

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10

Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,

More information

MA400: Financial Mathematics

MA400: Financial Mathematics MA400: Financial Mathematics Introductory Course Lecture 1: Overview of the course Preliminaries A brief introduction Beginning to program Some example programs Aims of this course Students should have

More information

Image Registration Lecture 1: Introduction

Image Registration Lecture 1: Introduction Image Registration Lecture 1: Introduction Prof. Charlene Tsai Outline Syllabus Registration problem Applications of registration Components of a solution Thematic questions underlying registration Software

More information

C++ programing for 3D visualization 2009

C++ programing for 3D visualization 2009 /*========================================================================= This script is written to visualize the point cloud data (PCD) generated from LiDAR system, and provide the result of voxelization

More information

tutorial : modeling synaptic plasticity

tutorial : modeling synaptic plasticity tutorial : modeling synaptic plasticity Computational Neuroscience by the Mediterranean Winter School, Jan 20th, 2016 Michael Graupner Université Paris Descartes CNRS UMR 8118, Paris, France michael.graupner@parisdescartes.fr

More information

CS 240 Fall Mike Lam, Professor. Just-for-fun survey:

CS 240 Fall Mike Lam, Professor. Just-for-fun survey: CS 240 Fall 2014 Mike Lam, Professor Just-for-fun survey: http://strawpoll.me/2421207 Today Course overview Course policies Python Motivation Computers are digital Data is stored in binary format (1's

More information

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments

Goals for this lecture. Lecture 4 Getting Started with ITK! Getting help. Assignments. Assignments, cont. Grading of assignments Goals for this lecture Lecture 4 Getting Started with ITK! Methods in Medical Image Analysis - Spring 2018 16-725 (CMU RI) : BioE 2630 (Pitt) Dr. John Galeotti Compile, compile, compile Learn how to use

More information

Course Overview, Python Basics

Course Overview, Python Basics CS 1110: Introduction to Computing Using Python Lecture 1 Course Overview, Python Basics [Andersen, Gries, Lee, Marschner, Van Loan, White] Interlude: Why learn to program? (which is subtly distinct from,

More information

VRX: Virtual Reality explorer Toolkit v A brief system specification -

VRX: Virtual Reality explorer Toolkit v A brief system specification - VRX: Virtual Reality explorer Toolkit v. 2.0 - A brief system specification - Michal Koutek, Email: M.Koutek@ewi.tudelft.nl VR and Visualization Group, Faculty of Electrical Engineering, Mathematics and

More information

Lecture 1. Course Overview, Python Basics

Lecture 1. Course Overview, Python Basics Lecture 1 Course Overview, Python Basics We Are Very Full! Lectures are at fire-code capacity. We cannot add sections or seats to lectures You may have to wait until someone drops No auditors are allowed

More information

Think Java: How to Think Like a Computer Scientist, written by

Think Java: How to Think Like a Computer Scientist, written by AP Computer Science Summer Work 2014-2015 Mrs. Kaelin jkaelin@pasco.k12.fl.us Welcome future 2014 2015 AP Computer Science Students! The purpose of this summer assignment is to introduce you to the world

More information

TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1

TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 ABSTRACT Test-Driven Development is a design strategy where a set of tests over a class is defined prior to the implementation of that class. The goal

More information

Senthil Kumaran S

Senthil Kumaran S Senthil Kumaran S http://www.stylesen.org/ Agenda History Basics Control Flow Functions Modules History What is Python? Python is a general purpose, object-oriented, high level, interpreted language Created

More information

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS

CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS CHAPTER 2: Introduction to Python COMPUTER PROGRAMMING SKILLS 1439-1440 1 Outline 1. Introduction 2. Why Python? 3. Compiler and Interpreter 4. The first program 5. Comments and Docstrings 6. Python Indentations

More information

Welcome to MCS 275. Course Content Prerequisites & Expectations. Scripting in Python from OOP to LAMP example: Factorization in Primes

Welcome to MCS 275. Course Content Prerequisites & Expectations. Scripting in Python from OOP to LAMP example: Factorization in Primes Welcome to MCS 275 1 About the Course Course Content Prerequisites & Expectations 2 Introduction to Programming Scripting in Python from OOP to LAMP example: Factorization in Primes 3 Summary MCS 275 Lecture

More information

Lecture 1. basic Python programs, defining functions

Lecture 1. basic Python programs, defining functions Lecture 1 basic Python programs, defining functions Lecture notes modified from CS Washington CS 142 Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0

More information

c01.qxd p /18/01 11:03 AM Page 1 Fundamentals

c01.qxd p /18/01 11:03 AM Page 1 Fundamentals c01.qxd p001-017 10/18/01 11:03 AM Page 1 Fundamentals c01.qxd p001-017 10/18/01 11:03 AM Page 2 OVERVIEW Welcome to the world of LabVIEW! This chapter gives you a basic explanation of LabVIEW and its

More information

Lecture 24 Wrap Up. Final Logistics CSE 331. Today. CSE 331 Software Design and Implementation. Wednesday, 8:30-10:20 AM

Lecture 24 Wrap Up. Final Logistics CSE 331. Today. CSE 331 Software Design and Implementation. Wednesday, 8:30-10:20 AM CSE 331 Software Design and Implementation Final Logistics Wednesday, 8:30-10:20 AM Lecture 24 Wrap Up Comprehensive, weighted towards 2 nd half Old exams on the web; some questions won t apply if we didn

More information

CS120 Computer Science I. Instructor: Jia Song

CS120 Computer Science I. Instructor: Jia Song CS120 Computer Science I Instructor: Jia Song Instructor Contact Information Instructor: Dr. Jia Song Email: jsong@uidaho.edu (Preferred) Phone: (208) 885-1710 Office: JEB 240 (CSDS Security Lab) JEB 340

More information

CSE 331 Software Design and Implementation. Lecture 24 Wrap Up

CSE 331 Software Design and Implementation. Lecture 24 Wrap Up CSE 331 Software Design and Implementation Lecture 24 Wrap Up Zach Tatlock / Spring 2018 Final Logistics Wednesday, 8:30-10:20 AM Comprehensive, weighted towards 2 nd half Old exams on the web; some questions

More information

Informatica Universiteit van Amsterdam. UVAPipe. A visualisation pipeline editing interface to VTK using python introspection.

Informatica Universiteit van Amsterdam. UVAPipe. A visualisation pipeline editing interface to VTK using python introspection. Bachelor Informatica Informatica Universiteit van Amsterdam UVAPipe A visualisation pipeline editing interface to VTK using python introspection Arjen Tamerus August 12, 2013 Supervisor(s): Robert Belleman

More information

PDF created with pdffactory trial version

PDF created with pdffactory trial version PDF created with pdffactory trial version www.pdffactory.com PDF created with pdffactory trial version www.pdffactory.com 31 3 2014 9 JOURNAL OF SHANGHAI SECOND POLYTECHNIC UNIVERSITY Vol. 31 No. 3 Sep.

More information

Python Programming For Raspberry Pi Sams

Python Programming For Raspberry Pi Sams For Raspberry Pi Sams Free PDF ebook Download: For Raspberry Pi Sams Download or Read Online ebook python programming for raspberry pi sams in PDF Format From The Best User Guide Database Apr 17, 2007

More information

Programming for Image Analysis/Processing

Programming for Image Analysis/Processing Computer assisted Image Analysis VT04 Programming for Image Analysis/Processing Tools and guidelines to write your own IP/IA applications Why this lecture? Introduction To give an overview of What is needed

More information

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2) Welcome Orientation to online CPS102 Computer Science 2 (Java 2) All online courses use Blackboard system, as soon as you login Blackboard in college s pipeline, please complete Blackboard Learn Student

More information

Software Reliability and Reusability CS614

Software Reliability and Reusability CS614 Software Reliability and Reusability CS614 Assiut University Faculty of Computers & Information Quality Assurance Unit Software Reliability and Reusability Course Specifications2011-2012 Relevant program

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Intro to CSC116 Course Information Introductions Website Syllabus Computers First Java Program Text Editor Helpful Commands Java Download Course Instructor: Instructors

More information

DSC 201: Data Analysis & Visualization

DSC 201: Data Analysis & Visualization DSC 201: Data Analysis & Visualization Python and Notebooks Dr. David Koop Computer-based visualization systems provide visual representations of datasets designed to help people carry out tasks more effectively.

More information

Interactive Mode Python Pylab

Interactive Mode Python Pylab Short Python Intro Gerald Schuller, Nov. 2016 Python can be very similar to Matlab, very easy to learn if you already know Matlab, it is Open Source (unlike Matlab), it is easy to install, and unlike Matlab

More information

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209

CSC209. Software Tools and Systems Programming. https://mcs.utm.utoronto.ca/~209 CSC209 Software Tools and Systems Programming https://mcs.utm.utoronto.ca/~209 What is this Course About? Software Tools Using them Building them Systems Programming Quirks of C The file system System

More information

JFORLAN TOOL SRINIVASA ADITYA UPPU A REPORT. Submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE

JFORLAN TOOL SRINIVASA ADITYA UPPU A REPORT. Submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE JFORLAN TOOL By SRINIVASA ADITYA UPPU B.Tech, JAWAHARLAL NEHRU INSTITUTE OF TECHNOLOGICAL SCIENCES, INDIA, 2007 A REPORT Submitted in partial fulfillment of the requirements for the degree MASTER OF SCIENCE

More information

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey Lecture 0 of 41: Part A Course Organization : Course Organization and Survey William H. Hsu Department of Computing and Information Sciences, KSU KSOL course page: http://bit.ly/hgvxlh Course web site:

More information

PYTHON PROGRAMMING FOR ENGINEERS AND SCIENTISTS

PYTHON PROGRAMMING FOR ENGINEERS AND SCIENTISTS PYTHON PROGRAMMING FOR ENGINEERS PDF PYTHON (PROGRAMMING LANGUAGE) - WIKIPEDIA PYTHON FOR ENGINEERS 1 / 6 2 / 6 3 / 6 python programming for engineers pdf Python is an interpreted, high-level, general-purpose

More information

CS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer.

CS 536. Class Meets. Introduction to Programming Languages and Compilers. Instructor. Key Dates. Teaching Assistant. Charles N. Fischer. CS 536 Class Meets Introduction to Programming Languages and Compilers Mondays, Wednesdays & Fridays, 11:00 11:50 204 Educational Sciences Charles N. Fischer Instructor Fall 2012 http://www.cs.wisc.edu/~fischer/cs536.html

More information

Welcome to Bootcamp2015 s documentation!

Welcome to Bootcamp2015 s documentation! Welcome to Bootcamp2015 s documentation! This website (or pdf) will be home to some resources that will be useful for boot campers and instructors. Lecture notes and assignments for the econ course associated

More information

Welcome to MCS 360. content expectations. using g++ input and output streams the namespace std. Euclid s algorithm the while and do-while statements

Welcome to MCS 360. content expectations. using g++ input and output streams the namespace std. Euclid s algorithm the while and do-while statements Welcome to MCS 360 1 About the Course content expectations 2 our first C++ program using g++ input and output streams the namespace std 3 Greatest Common Divisor Euclid s algorithm the while and do-while

More information

Cosmology with python: Beginner to Advanced in one week. Tiago Batalha de Castro

Cosmology with python: Beginner to Advanced in one week. Tiago Batalha de Castro Cosmology with python: Beginner to Advanced in one week Tiago Batalha de Castro What is Python? (From python.org) Python is an interpreted, object-oriented, high-level programming language with dynamic

More information

Programming for Engineers in Python. Recitation 1

Programming for Engineers in Python. Recitation 1 Programming for Engineers in Python Recitation 1 Plan Administration: Course site Homework submission guidelines Working environment Python: Variables Editor vs. shell Homework 0 Python Cont. Conditional

More information

UI Toolkits. HCID 520 User Interface Software & Technology

UI Toolkits. HCID 520 User Interface Software & Technology UI Toolkits HCID 520 User Interface Software & Technology http://www.cryptonomicon.com/beginning.html Xerox Alto 1973 Evolution of User Interfaces Command Line (UNIX shell, DOS prompt) Interaction driven

More information

Lab 1: Course Intro, Getting Started with Python IDLE. Ling 1330/2330 Computational Linguistics Na-Rae Han

Lab 1: Course Intro, Getting Started with Python IDLE. Ling 1330/2330 Computational Linguistics Na-Rae Han Lab 1: Course Intro, Getting Started with Python IDLE Ling 1330/2330 Computational Linguistics Na-Rae Han Objectives Course Introduction http://www.pitt.edu/~naraehan/ling1330/index.html Student survey

More information

CSC116: Introduction to Computing - Java

CSC116: Introduction to Computing - Java CSC116: Introduction to Computing - Java Course Information Introductions Website Syllabus Schedule Computing Environment AFS (Andrew File System) Linux/Unix Commands Helpful Tricks Computers First Java

More information

Algorithms and Programming I. Lecture#12 Spring 2015

Algorithms and Programming I. Lecture#12 Spring 2015 Algorithms and Programming I Lecture#12 Spring 2015 Think Python How to Think Like a Computer Scientist By :Allen Downey Installing Python Follow the instructions on installing Python and IDLE on your

More information

Lecture 1 - Introduction (Class Notes)

Lecture 1 - Introduction (Class Notes) Lecture 1 - Introduction (Class Notes) Outline: How does a computer work? Very brief! What is programming? The evolution of programming languages Generations of programming languages Compiled vs. Interpreted

More information

VisKo: Supporting Declarative Visualization Requests

VisKo: Supporting Declarative Visualization Requests BOA Meeting 2012, February 16-17 VisKo: Supporting Declarative Visualization Requests Nicholas Del Rio 1 Outline Visualization Requests and Pipelines Visualization Query Language Query Answering Query

More information