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, 2012 Course Introduction Logistics Module Introduction DeVIDE 5 Introduction Challenge: MIA lifecycle DeVIDE Features Similar solutions Extending: modules Extending: CodeRunner Summary Getting started (ex) Python 15 Introduction Data types Control flow, indentation Objects Conclusions VTK / ITK 21 Definition VTK Pipelines Pipelines example Adding interaction Data model: vtkfielddata Data model: vtkdataobject Data model: vtkdataset Exercise: VTK dataset from scratch Execution model, pre New execution model, post ITK

2 Conclusion 33 Summary of IN4307 module IDPVI Homework 35 Loading and filtering data (ex) First taste of ITK (ex) Self-study

3 Course Introduction 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, DeVIDE, Python, 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 Logistics 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 Module Introduction IDPVI? Basic components needed for the experimental part of the work. 4 / 38 3

4 DeVIDE 5 / 38 Introduction What is DeVIDE? Why yet another dataflow application? System description. Conclusions and future work. 6 / 38 Challenge: MIA lifecycle Need platform to facilitate the MIA lifecycle. 7 / 38 4

5 DeVIDE Delft Visualisation and Image processing Development Environment Cross-platform turn-key rapid prototyping environment for medical visualisation and image processing techniques. Support visual programming. 8 / 38 Features 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 5

6 Similar solutions AVS, OpenDX, SCIRun, MeVisLab, VisTrails Why DeVIDE? Made for medical vis+ip Introspection Ease of integration Prototyping Python Hybrid scheduling License. 10 / 38 Extending: modules Algorithm developer: central activity Two requirements for code that needs to be integrated must support data-flow must be callable from Python (by hook or by crook!) Write Python class that satisfies module API Drop into modules directory (also at run-time) All encapsulated functionality (VTK, ITK, matplotlib, geometry, etc) in module kits. 11 / 38 Extending: CodeRunner Insert live code into running network. Pre-module rapid prototyping. Experimentation during learning phase. 12 / 38 6

7 Summary 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! 13 / 38 Getting started (ex) 1. Start DeVIDE in Linux by doing: /opt/apps/devide re /dre devide 2. Press F1 for the DeVIDE 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) PressESC, then typevw orslice followed byenter. (e) Connect the blocks, press F5. 14 / 38 Python 15 / 38 Introduction Programming language Very high-level Dynamically typed Interpreted Object oriented Ideal for wrapping stuff Great glue 16 / 38 7

8 Data types 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 some list [ 0 : 2 ] # everything up to j u s t before 2nd item p r i n t some list [ 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 ( 1 0 ) # 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 Control flow, indentation 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: print 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 function ends when the indent changes back some function ( Yoohoo world! ) 18 / 38 8

9 Objects # everything in Python i s an object. 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 replacement 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 ( ) # 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 ( replacement spill guts, some object, some class ) some object. s p i l l g u t s ( ) 19 / 38 Conclusions Python 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 / 38 9

10 VTK / ITK 21 / 38 Definition Visualization ToolKit: Open-source, object-oriented C++ lib. Hundreds of classes, multi-language wrappings. Defacto standard for SciVis. Marketable skill. 22 / 38 10

11 VTK Pipelines 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. 23 / 38 Pipelines example Start Window::Python Shell from the main DeVIDE 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 = vtk. vtkactor ( ) sphereactor. GetProperty ( ). SetColor ( 1. 0, 0.0, 0. 0 ) sphereactor. SetMapper ( spheremapper ) renderwindow = vtk. vtkrenderwindow ( ) renderer = vtk. vtkrenderer ( ) renderwindow. AddRenderer ( renderer ) renderer. AddActor ( sphereactor ) renderwindow. Render ( ) 24 / 38 11

12 Adding interaction Run basicvtk2.py in the same way: import v t k spheresource = v t k. vtkspheresource ( ) spheremapper = v t k. vtkpolydatamapper ( ) spheremapper. SetInput ( spheresource. GetOutput ( ) ) sphereactor = vtk. vtkactor ( ) sphereactor. GetProperty ( ). SetColor ( 1. 0, 0.0, 0. 0 ) sphereactor. SetMapper ( spheremapper ) renderwindow = vtk. vtkrenderwindow ( ) renderer = vtk. vtkrenderer ( ) renderwindow. AddRenderer ( renderer ) renderer. AddActor ( sphereactor ) i r e n = vtk. vtkrenderwindowinteractor ( ) iren. 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 Taking care of the universe You ve just created a foreign event loop inside DeVIDE. This might lead to the universe collapsing. To be on the safe side, stop and restart DeVIDE. note 1 of slide 25 Data model: vtkfielddata Field data Most basic data container Number of named vtkdataarrays Each array: m tuples of n elements each M assumed constant for all arrays 26 / 38 12

13 Data model: vtkdataobject vtkdataobject Encapsulates single vtkfielddata instance Simple pile of data Leads to more interesting things / 38 Data model: vtkdataset vtkdataset Still has FieldData instance. Also geometry (points) and topology (cells). PointData and CellData (FieldData children) as attributes. Supports different spatial layouts. 28 / 38 13

14 Exercise: VTK dataset from scratch 1. Clear the canvas by pressing Ctrl-N. 2. Place a CodeRunner. 3. Switch to the Execute tab in the CodeRunner. 4. Load polytest.py by selecting File::Open file to current edit from the main menu. Click the Apply button. 5. Place a slice3dvwr. 6. Connect the first output of the CodeRunner to the first input of the slice3dvwr. 7. Study the source code that you loaded. Don t forget to execute it. 8. The triangle that appears has only one colour due to the default flat shading mode. Change the shading mode to Phong by doing the following: (a) (b) (c) (d) (e) (f) (g) Click Show Controls on the main slicedvwr 3D view. Select configure the object from the When I click an object in the scene choice at the bottom of the slice3dvwr Controls window. Click on the triangle in the 3D scene. In the VTK pipeline browser that appears, double click on the Property. On the States tab of the newly appeared window, select SetInterpolationToPhong and click on the Apply button. Marvel at the prettiness of your Phong-shaded triangle. Change When I click on an object in the scene back to Do nothing. This part of the interface is indeed quite complex for two reasons: User actions that are often performed are integrated in the simple interface (right click on the object in the object list for an example); With this more complex interface, all VTK flexibility is available. 9. Make changes (for example, add another triangle) to test your comprehension of the VTK polydata that you have created. 29 / 38 Execution model, pre-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: callupdate() on any downstream part to execute upstream 30 / 38 14

15 New execution model, post-5.0 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() 31 / 38 New execution model, post-5.0 Multiple connections per input port possible Pipeline vtkinformation (owned by vtkexecutive) for each output port Pipeline vtkinformationvector (owned by vtkexecutive) for each input port Algorithm, data objects also own their own information objects Default vtkexecutive: Streaming, Demand Driven For more information, read Upgrading to and Understanding the New VTK Pipeline at note 1 of slide 31 15

16 ITK Insight segmentation and registration toolkit Open source, object-oriented, heavily templated C++ library with hundreds of classes Python, 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! 32 / 38 Conclusion 33 / 38 Summary of IN4307 module IDPVI Main introduction DeVIDE Python VTK / ITK 34 / 38 Homework 35 / 38 Loading and filtering data (ex) 1. Load a volume dataset by dragging and dropping pano masked.vti onto the DeVIDE canvas. A vtirdr will automatically be created with the filename already entered. 2. Connect the output of the automatically created vtirdr to the input of a slice3dvwr. 3. Press F5 to execute the network. 4. Visually inspect the data by using the slicer and probing values with your cursor. You can move the slice with the middle mouse button, change the window and level (similar to contrast and brightness) with the right mouse button, and probe the value under the cursor with the left mouse button. Note the cube in the bottom left corner showing the real patient orientation in the scanner. This information can be derived from the DICOM meta-data. 5. Downsample the data by to a quarter by halving the number of samples on both thexandy axes. The resampleimage module is good for this. 6. Write the data to disc in native VTK format by using vtiwrt. 7. If you re working on a 32 bit machine, make available some memory. Clean the canvas with Ctrl-N or File New. Load the downsampled VTI file you just saved by dragging and dropping it onto the DeVIDE canvas. 36 / 38 16

17 First taste of ITK (ex) 1. Convert downsampled data to ITK format with a VTKtoITK, make sure to uncheck its AutoType and click on Apply. 2. Pass data through a gaussianconvolve 3. Use a ITKtoVTK to convert data back to VTK format and add this as the only input to your slice3dvwr. 4. Execute the network. 5. Experiment with the gaussianconvolve parameters. 6. Use three gaussianconvolve modules to implement a standard 3D Gaussian blurring. (Remember that Gaussian kernels are separable.) 37 / 38 Self-study Read the System Description section of the paper Hybrid scheduling in the DeVIDE dataflow visualisation environment a. Work through the Python tutorial b. Take a brief look at the contents of the Python standard library c. Browse through the VTK class list d. Browse through the ITK Software Guide e. 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 DeVIDE. a b c d e 38 / 38 17

IN4307 Medical Visualisation Module IDPVI

IN4307 Medical Visualisation Module IDPVI IN4307 Medical Visualisation Module IDPVI Dr. Charl P. Botha Week 6, 2012 1 / 38 Welcome! Visualisation in Medicine Definition in research, medicine and industry. Learning goals: Function as MedVis engineer

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 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

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

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

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

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

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

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

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

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

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

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

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

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

eiconsole for Healthcare Getting Started Tutorial

eiconsole for Healthcare Getting Started Tutorial eiconsole for Healthcare Getting Started Tutorial https://cms.pilotfishtechnology.com/eiconsole-for-healthcare-getting-started-tutorial Welcome to the eiconsole for Healthcare Getting Started Tutorial.

More information

eiconsole for Healthcare Getting Started Tutorial

eiconsole for Healthcare Getting Started Tutorial eiconsole for Healthcare Getting Started Tutorial http://cms.pilotfishtechnology.com/eiconsole-for-healthcare-getting-started-tutorial Welcome to the eiconsole for Healthcare Getting Started Tutorial.

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

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

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

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

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

Basic Uses of JavaScript: Modifying Existing Scripts

Basic Uses of JavaScript: Modifying Existing Scripts Overview: Basic Uses of JavaScript: Modifying Existing Scripts A popular high-level programming languages used for making Web pages interactive is JavaScript. Before we learn to program with JavaScript

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

Web Site Documentation Eugene School District 4J

Web Site Documentation Eugene School District 4J Eugene School District 4J Using this Documentation Revision 1.3 1. Instruction step-by-step. The left column contains the simple how-to steps. Over here on the right is the color commentary offered to

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

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup

CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup CSE 101 Introduction to Computers Development / Tutorial / Lab Environment Setup Purpose: The purpose of this lab is to setup software that you will be using throughout the term for learning about Python

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

Customizing DAZ Studio

Customizing DAZ Studio Customizing DAZ Studio This tutorial covers from the beginning customization options such as setting tabs to the more advanced options such as setting hot keys and altering the menu layout. Introduction:

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

Creating Vector Shapes Week 2 Assignment 1. Illustrator Defaults

Creating Vector Shapes Week 2 Assignment 1. Illustrator Defaults Illustrator Defaults Before we begin, we are going to make sure that all of us are using the same settings within our application. For this class, we will always want to make sure that our application

More information

Instructions PLEASE READ (notice bold and underlined phrases)

Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercises wk02 Lab Basics First Lab of the course Required Reading Java Foundations - Section 1.1 - The Java Programming Language Instructions PLEASE READ (notice bold and underlined phrases) Lab Exercise

More information

Getting started with UNIX/Linux for G51PRG and G51CSA

Getting started with UNIX/Linux for G51PRG and G51CSA Getting started with UNIX/Linux for G51PRG and G51CSA David F. Brailsford Steven R. Bagley 1. Introduction These first exercises are very simple and are primarily to get you used to the systems we shall

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

To build shapes from scratch, use the tools are the far right of the top tool bar. These

To build shapes from scratch, use the tools are the far right of the top tool bar. These 3D GAME STUDIO TUTORIAL EXERCISE #5 USE MED TO SKIN AND ANIMATE A CUBE REVISED 11/21/06 This tutorial covers basic model skinning and animation in MED the 3DGS model editor. This exercise was prepared

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

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

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

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

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

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

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

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

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

Google Sites Guide Nursing Student Portfolio

Google Sites Guide Nursing Student Portfolio Google Sites Guide Nursing Student Portfolio Use the template as base, but customize it according to your design! Change the colors and text, but maintain the required pages and information. Topic Outline:

More information

Textures and UV Mapping in Blender

Textures and UV Mapping in Blender Textures and UV Mapping in Blender Categories : Uncategorised Date : 21st November 2017 1 / 25 (See below for an introduction to UV maps and unwrapping) Jim s Notes regarding Blender objects, the UV Editor

More information

Word 1 Module 2. Word 1. Module 2

Word 1 Module 2. Word 1. Module 2 Word 1 Module 2 Revised 5/1/17 Contents Create a New Document...2 Class Walkthrough 2.1...2 Entering Text into a Document...2 Class Walkthrough 2.2...2 Lines of Text vs. Paragraphs...2 Insertion Point...3

More information

SCRATCH MODULE 3: NUMBER CONVERSIONS

SCRATCH MODULE 3: NUMBER CONVERSIONS SCRATCH MODULE 3: NUMBER CONVERSIONS INTRODUCTION The purpose of this module is to experiment with user interactions, error checking input, and number conversion algorithms in Scratch. We will be exploring

More information

Getting Started with Python and the PyCharm IDE

Getting Started with Python and the PyCharm IDE New York University School of Continuing and Professional Studies Division of Programs in Information Technology Getting Started with Python and the PyCharm IDE Please note that if you already know how

More information

Using Dreamweaver. 4 Creating a Template. Logo. Page Heading. Home About Us Gallery Ordering Contact Us Links. Page content in this area

Using Dreamweaver. 4 Creating a Template. Logo. Page Heading. Home About Us Gallery Ordering Contact Us Links. Page content in this area 4 Creating a Template Now that the main page of our website is complete, we need to create the rest of the pages. Each of them will have a layout that follows the plan that is shown below. Logo Page Heading

More information

Visualization in the Sciences Hands-On Workshop

Visualization in the Sciences Hands-On Workshop Visualization in the Sciences, Hands-On Workshop Part 1: Implement various techniques in Paraview Each of these will start by loading a data set that you are going to display. Copy the McNeil_CNTs.vtk

More information

Graphical User Interface. GUI in MATLAB. Eng. Banan Ahmad Allaqta

Graphical User Interface. GUI in MATLAB. Eng. Banan Ahmad Allaqta raphical ser nterface in MATLAB Eng. Banan Ahmad Allaqta What is? A graphical user interface () is a graphical display in one or more windows containing controls, called components, that enable a user

More information

Visualization Toolkit(VTK) Atul Kumar MD MMST PhD IRCAD-Taiwan

Visualization Toolkit(VTK) Atul Kumar MD MMST PhD IRCAD-Taiwan Visualization Toolkit(VTK) Atul Kumar MD MMST PhD IRCAD-Taiwan Visualization What is visualization?: Informally, it is the transformation of data or information into pictures.(scientific, Data, Information)

More information

Quick Tutorial. Overview. Creating an Effect

Quick Tutorial. Overview. Creating an Effect Quick Tutorial Overview This chapter presents a very short FX Composer 2 tutorial to quickly introduce you to several convenient and powerful new features. Even if you ve used FX Composer 1.8, we highly

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

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

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

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

Turn your movie file into the homework folder on the server called Lights, Camera, Action.

Turn your movie file into the homework folder on the server called Lights, Camera, Action. CS32 W11 Homework 3: Due MONDAY, APRIL 18 Now let s put the ball in a world of your making and have some fun. Create a simple AND WE MEAN SIMPLE environment for one of your ball bounces. You will assign

More information

Basic Concepts 1. For this workshop, select Template

Basic Concepts 1. For this workshop, select Template Basic Concepts 1 When you create a new presentation, you re prompted to choose between: Autocontent wizard Prompts you through a series of questions about the context and content of your presentation not

More information

Starting Your SD41 Wordpress Blog blogs.sd41.bc.ca

Starting Your SD41 Wordpress Blog blogs.sd41.bc.ca Starting Your SD41 Wordpress Blog blogs.sd41.bc.ca The web address to your blog starts with blogs.sd41.bc.ca/lastnamefirstinitial (eg. John Smith s blog is blogs.sd41.bc.ca/smithj) All work is done in

More information

Rockefeller College MPA Excel Workshop: Clinton Impeachment Data Example

Rockefeller College MPA Excel Workshop: Clinton Impeachment Data Example Rockefeller College MPA Excel Workshop: Clinton Impeachment Data Example This exercise is a follow-up to the MPA admissions example used in the Excel Workshop. This document contains detailed solutions

More information

Basic Concepts 1. Starting Powerpoint 2000 (Windows) For the Basics workshop, select Template. For this workshop, select Artsy

Basic Concepts 1. Starting Powerpoint 2000 (Windows) For the Basics workshop, select Template. For this workshop, select Artsy 1 Starting Powerpoint 2000 (Windows) When you create a new presentation, you re prompted to choose between: Autocontent wizard Prompts you through a series of questions about the context and content of

More information

ImageVis3D User's Manual

ImageVis3D User's Manual ImageVis3D User's Manual 1 1. The current state of ImageVis3D Remember : 1. If ImageVis3D causes any kind of trouble, please report this to us! 2. We are still in the process of adding features to the

More information

Tutorial 2: Compiling and Running C++ Source Code

Tutorial 2: Compiling and Running C++ Source Code Tutorial 2: Compiling and Running C++ Source Code 1. Log in to your UNIX account as you did during the first tutorial. 2. Click on the desktop with the left mouse button and consider the menu that appears

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

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

GIS LAB 1. Basic GIS Operations with ArcGIS. Calculating Stream Lengths and Watershed Areas.

GIS LAB 1. Basic GIS Operations with ArcGIS. Calculating Stream Lengths and Watershed Areas. GIS LAB 1 Basic GIS Operations with ArcGIS. Calculating Stream Lengths and Watershed Areas. ArcGIS offers some advantages for novice users. The graphical user interface is similar to many Windows packages

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

OVERVIEW GOALS KEY TERMS

OVERVIEW GOALS KEY TERMS OVERVIEW Welcome to the world of LabVIEW! This chapter gives you a basic explanation of LabVIEW, its capabilities, and how it can make your life easier. GOALS Develop an idea of what LabVIEW really is.

More information

Creating a new CDC policy using the Database Administration Console

Creating a new CDC policy using the Database Administration Console Creating a new CDC policy using the Database Administration Console When you start Progress Developer Studio for OpenEdge for the first time, you need to specify a workspace location. A workspace is a

More information

Use the Move tool to drag A around and see how the automatically constructed objects (like G or the perpendicular and parallel lines) are updated.

Use the Move tool to drag A around and see how the automatically constructed objects (like G or the perpendicular and parallel lines) are updated. Math 5335 Fall 2015 Lab #0: Installing and using GeoGebra This semester you will have a number of lab assignments which require you to use GeoGebra, a dynamic geometry program. GeoGebra lets you explore

More information

My First iphone App (for Xcode version 6.4)

My First iphone App (for Xcode version 6.4) My First iphone App (for Xcode version 6.4) 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button

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

Faculty Development Seminar Series Constructing Posters in PowerPoint 2003 Using a Template

Faculty Development Seminar Series Constructing Posters in PowerPoint 2003 Using a Template 2008-2009 Faculty Development Seminar Series Constructing Posters in PowerPoint 2003 Using a Template Office of Medical Education Research and Development Michigan State University College of Human Medicine

More information

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 1 The Blender Interface and Basic Shapes

Blender Notes. Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 1 The Blender Interface and Basic Shapes Blender Notes Introduction to Digital Modelling and Animation in Design Blender Tutorial - week 1 The Blender Interface and Basic Shapes Introduction Blender is a powerful modeling, animation and rendering

More information

What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2. Different output size. Details, details. Changing the input requested region

What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2. Different output size. Details, details. Changing the input requested region What are advanced filters? Lecture 19 Write Your Own ITK Filters, Part2 More than one input Support progress methods Output image is a different size than input Multi-threaded Methods in Medical Image

More information

PROFILE DESIGN TUTORIAL KIT

PROFILE DESIGN TUTORIAL KIT PROFILE DESIGN TUTORIAL KIT NEW PROFILE With the help of feedback from our users and designers worldwide, we ve given our profiles a new look and feel. The new profile is designed to enhance yet simplify

More information

Introduction. What s New in This Edition

Introduction. What s New in This Edition Introduction Welcome to the fourth edition of the OpenGL SuperBible. For more than ten years, we have striven to provide the world s best introduction to not only OpenGL, but 3D graphics programming in

More information

Working with Pages... 9 Edit a Page... 9 Add a Page... 9 Delete a Page Approve a Page... 10

Working with Pages... 9 Edit a Page... 9 Add a Page... 9 Delete a Page Approve a Page... 10 Land Information Access Association Community Center Software Community Center Editor Manual May 10, 2007 - DRAFT This document describes a series of procedures that you will typically use as an Editor

More information

Data Representation in Visualisation

Data Representation in Visualisation Data Representation in Visualisation Visualisation Lecture 4 Taku Komura Institute for Perception, Action & Behaviour School of Informatics Taku Komura Data Representation 1 Data Representation We have

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

Interface. 2. Interface Adobe InDesign CS2 H O T

Interface. 2. Interface Adobe InDesign CS2 H O T 2. Interface Adobe InDesign CS2 H O T 2 Interface The Welcome Screen Interface Overview The Toolbox Toolbox Fly-Out Menus InDesign Palettes Collapsing and Grouping Palettes Moving and Resizing Docked or

More information

Designing Reports. eivf Designing Reports Note Types 1

Designing Reports. eivf Designing Reports Note Types 1 Designing Reports Designing Reports...1 Note Types...3 Notes...3 Shorthands...3 Quick Note...3 Click N Build...3 Reports (Data Plates )...3 Most commonly use of the Note Types...4 Notes...5 To create a

More information

Part III Appendices 165

Part III Appendices 165 Part III Appendices 165 Appendix A Technical Instructions Learning Outcomes This material will help you learn how to use the software you need to do your work in this course. You won t be tested on it.

More information

CS 112: Intro to Comp Prog

CS 112: Intro to Comp Prog CS 112: Intro to Comp Prog Importing modules Branching Loops Program Planning Arithmetic Program Lab Assignment #2 Upcoming Assignment #1 Solution CODE: # lab1.py # Student Name: John Noname # Assignment:

More information

Instructor Manual Contents

Instructor Manual Contents Instructor Manual Contents Welcome to egrade Plus...1 The Roles Within egrade Plus...1 Master Course Instructor...1 Class Section Instructor...2 Navigating egrade Plus...2 Using the Universal Navigation

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

This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step.

This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step. This Tutorial is for Word 2007 but 2003 instructions are included in [brackets] after of each step. Table of Contents Just so you know: Things You Can t Do with Word... 1 Get Organized... 1 Create the

More information

StudioPrompter Tutorials. Prepare before you start the Tutorials. Opening and importing text files. Using the Control Bar. Using Dual Monitors

StudioPrompter Tutorials. Prepare before you start the Tutorials. Opening and importing text files. Using the Control Bar. Using Dual Monitors StudioPrompter Tutorials Prepare before you start the Tutorials Opening and importing text files Using the Control Bar Using Dual Monitors Using Speed Controls Using Alternate Files Using Text Markers

More information

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller

Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Excel Basics Rice Digital Media Commons Guide Written for Microsoft Excel 2010 Windows Edition by Eric Miller Table of Contents Introduction!... 1 Part 1: Entering Data!... 2 1.a: Typing!... 2 1.b: Editing

More information

Adobe Dreamweaver CS5 Tutorial

Adobe Dreamweaver CS5 Tutorial Adobe Dreamweaver CS5 Tutorial GETTING STARTED This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site layout,

More information

A Quick Tour GETTING STARTED WHAT S IN THIS CHAPTER?

A Quick Tour GETTING STARTED WHAT S IN THIS CHAPTER? 1 A Quick Tour WHAT S IN THIS CHAPTER? Installing and getting started with Visual Studio 2012 Creating and running your fi rst application Debugging and deploying an application Ever since software has

More information

Adding Content to Blackboard

Adding Content to Blackboard Adding Content to Blackboard Objectives... 2 Task Sheet for: Adding Content to Blackboard... 3 What is Content?...4 Presentation Type and File Formats... 5 The Syllabus Example... 6 PowerPoint Example...

More information

De novo genome assembly

De novo genome assembly BioNumerics Tutorial: De novo genome assembly 1 Aims This tutorial describes a de novo assembly of a Staphylococcus aureus genome, using single-end and pairedend reads generated by an Illumina R Genome

More information

Mia Round Corners Node

Mia Round Corners Node Mia Round Corners Node NAKHLE Georges - july 2007 This tutorial describes how to use the mental ray MIA Round Corners node. 1) Create a polygonal cube, and make sure that mental ray plug-in is loaded.

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