Computer Architectures for Medical Applications 3 rd Exercise, May 2, 2016
|
|
- Marlene Haynes
- 6 years ago
- Views:
Transcription
1 Computer Architectures for Medical Applications 3 rd Exercise, May 2, 2016 University Erlangen-Nuremberg Computer Science 3 & Professorship for High Performance Computing CAMA Exercise 03 May 2,
2 Overview Solution of Previous Assignment Visualization of the Reconstruction Bilinear Interpolation Optimization o Exercise 1. Avoid Unnecessary Computations CAMA Exercise 03 May 2,
3 Sample Solution int RCTLoadAlgorithm(RabbitCtGlobalData* rcgd) { int L = rcgd->l; float *VOL = rcgd->f_l; /* allocate memory for the volume */ VOL = (float *)malloc(l*l*l * sizeof(float)); if (VOL == NULL) { perror("malloc"); exit(exit_failure); } /* initialize all voxels with 0.0f */ for (int i = 0; i < L*L*L; ++i) VOL[i] = 0.0f; return 1; } CAMA Exercise 03 May 2,
4 Sample Solution struct RabbitCtGlobalData { ///< problem size \in {128, 256, 512, 1024} unsigned int L; ///< projection image width unsigned int S_x; ///< projection image height (detector rows) unsigned int S_y; ///< 3x4 projetion matrix double * A_n; ///< projection image buffer float * I_n; ///< position of the 0-index in the world coordinate system float O_L;... CAMA Exercise 03 May 2,
5 Sample Solution int RCTAlgorithmBackprojection(RabbitCtGlobalData* rcgd) { int L = rcgd->l; float *I = rcgd->i_n; float *VOL = rcgd->f_l; double *A = rcgd->a_n; float O = rcgd->o_l; float V = rcgd->r_l; int width = rcgd->s_x; int height = rcgd->s_y; for (int z = 0; z < L; ++z) { for (int y = 0; y < L; ++y) { for (int x = 0; x < L; ++x) { // voxel update... CAMA Exercise 03 May 2,
6 Sample Solution /* convert voxel coordinates to world coordinates */ float wx = O+x*V; float wy = O+y*V; float wz = O+z*V; /* convert world coordinates to image coordinates */ float u = wx*a[0] + wy*a[3] + wz*a[6] + A[9]; float v = wx*a[1] + wy*a[4] + wz*a[7] + A[10]; float w = wx*a[2] + wy*a[5] + wz*a[8] + A[11]; /* normalize image coordinates */ int ix = u/w; int iy = v/w; CAMA Exercise 03 May 2,
7 Sample Solution... /* normalize image coordinates */ int ix = u/w; int iy = v/w; /* load intensity value from projection image; */ /* if the ray doesn t hit the detector, set value to 0.0f */ float val = 0.0f; if (ix >= 0 && ix < width && iy >= 0 && iy < height) val = I[iy*width+ix]; /* add weighted value to voxel in volume */ VOL[z*L*L + y*l + x] += val / (w*w); CAMA Exercise 03 May 2,
8 Sample Solution $./rabbitctrunner reference.so Running... this may take some time. (\_/) (=. =) (")_(") Quality of reconstructed volume: Root Mean Squared Error: HU Mean Squared Error: HU^2 Max. Absolute Error: 674 HU PSNR: db CAMA Exercise 03 May 2,
9 Overview Solution of Previous Assignment Visualization of the Reconstruction Bilinear Interpolation Optimization o Exercise 1. Avoid Unnecessary Computations CAMA Exercise 03 May 2,
10 Visualization of the Reconstruction Save volume to disk after reconstruction emmyxx$./rabbitctrunner reference.so o output_file Copy volume from Emmy to your CIP home faui04d$ scp camaxx@lima:path/to/rabbit/output_file.vol. Start Paraview faui04d$ paraview Open Volume in Paraview CAMA Exercise 03 May 2,
11 Visualization of the Reconstruction Paraview o File - Open output_file.vol (might not be shown in file dialog) o Open Data with RAW (binary) Files o Data Scalar Type: float o Data Byte Order: LittleEndian (x86) o Data Extent: 0, 127, 0, 127, 0, 127 o Representation: Volume CAMA Exercise 03 May 2,
12 Visualization of the Reconstruction CAMA Exercise 03 May 2,
13 Overview Visualization of the Reconstruction Bilinear Interpolation Optimization o Exercise 1. Avoid Unnecessary Computations CAMA Exercise 03 May 2,
14 Bilinear Interpolation Flat Panel Detector X-Ray Source CAMA Exercise 03 May 2,
15 Bilinear Interpolation Flat Panel Detector X-Ray Source CAMA Exercise 03 May 2,
16 Bilinear Interpolation iy 3 Integral values of the DCS are located in the pixel centers ix CAMA Exercise 03 May 2,
17 Bilinear Interpolation iy 3 Integral values of the DCS are located in the pixel centers ix CAMA Exercise 03 May 2,
18 Bilinear Interpolation iy 3 Integral values of the DCS are located in the pixel centers ix CAMA Exercise 03 May 2,
19 Bilinear Interpolation iy Integral values of the DCS are located in the pixel centers ix CAMA Exercise 03 May 2,
20 Bilinear Interpolation iy Integral values of the DCS are located in the pixel centers Up until now Round down (cast to int) ix CAMA Exercise 03 May 2,
21 Bilinear Interpolation iy Integral values of the DCS are located in the pixel centers Up until now Round down (cast to int) To increase quality of the result Bilinear Interpolation ix CAMA Exercise 03 May 2,
22 Bilinear Interpolation iy ix Integral values of the DCS are located in the pixel centers Up until now Round down (cast to int) To increase quality of the result Bilinear Interpolation Example here: low=i[2*4+1]*0.8+i[2*4+2]*0.2 CAMA Exercise 03 May 2,
23 Bilinear Interpolation iy ix Integral values of the DCS are located in the pixel centers Up until now Round down (cast to int) To increase quality of the result Bilinear Interpolation Example here: low=i[2*4+1]*0.8+i[2*4+2]*0.2 high=i[3*4+1]*0.8+i[3*4+2]*0.2 CAMA Exercise 03 May 2,
24 Bilinear Interpolation iy ix Integral values of the DCS are located in the pixel centers Up until now Round down (cast to int) To increase quality of the result Bilinear Interpolation Example here: low=i[2*4+1]*0.8+i[2*4+2]*0.2 high=i[3*4+1]*0.8+i[3*4+2]*0.2 val=low*0.2+high*0.8 CAMA Exercise 03 May 2,
25 Overview Visualization of the Reconstruction Bilinear Interpolation Optimization o Exercise 1. Avoid Unnecessary Computations CAMA Exercise 03 May 2,
26 for (int z = 0; z < L; ++z) { for (int y = 0; y < L; ++y) { for (int x = 0; x < L; ++x) { /* convert voxel coordinates to world coordinates */ float wx = O+x*V; float wy = O+y*V; float wz = O+z*V; /* convert world coordinates to image coordinates */ float u = wx*a[0] + wy*a[3] + wz*a[6] + A[9]; float v = wx*a[1] + wy*a[4] + wz*a[7] + A[10]; float w = wx*a[2] + wy*a[5] + wz*a[8] + A[11]; /* normalize image coordinates */ int ix = u/w; int iy = v/w; /* load intensity value from projection image; */ /* if the ray doesn t hit the detector, set value to 0.0f */ float val = 0.0f; if (ix >= 0 && ix < width && iy >= 0 && iy < height) val = I[iy*width+ix]; /* add weighted value to voxel in volume */ VOL[z*L*L + y*l + x] += val / (w*w); }}} CAMA Exercise 03 May 2,
27 for (int z = 0; z < L; ++z) { for (int y = 0; y < L; ++y) { for (int x = 0; x < L; ++x) { /* convert voxel coordinates to world coordinates */ float wx = O+x*V; float wy = O+y*V; float wz = O+z*V; /* convert world coordinates to image coordinates */ float u = wx*a[0] + wy*a[3] + wz*a[6] + A[9]; float v = wx*a[1] + wy*a[4] + wz*a[7] + A[10]; float w = wx*a[2] + wy*a[5] + wz*a[8] + A[11]; /* normalize image coordinates */ int ix = u/w; int iy = v/w; /* load intensity value from projection image; */ /* if the ray doesn t hit the detector, set value to 0.0f */ float val = 0.0f; if (ix >= 0 && ix < width && iy >= 0 && iy < height) val = I[iy*width+ix]; /* add weighted value to voxel in volume */ VOL[z*L*L + y*l + x] += val / (w*w); }}} CAMA Exercise 03 May 2,
28 Overview Visualization of the Reconstruction Bilinear Interpolation Optimization o Exercise 1. Avoid Unnecessary Computations CAMA Exercise 03 May 2,
29 Exercise Implement the bilinear interpolation o Measure runtime without and with bilinear interpolation o Hint: PSNR should be 100+ db o Visualize the result and look for differences Avoid unnecessary computations o Runtime before/after Hint o Create a new shared object for each improvement $ cp modules/reference.c modules/bilinear.c $ cp modules/bilinear.c modules/bilinear_opt1.c o All new modules are automatically compiled using make o Run with e.g../rabbitctrunner bilinear.so CAMA Exercise 03 May 2,
Computer Architectures for Medical Applications 4 th Exercise, May 9, 2016
Cmputer Architectures fr Medical Applicatins 4 th Exercise, May 9, 2016 Universität Erlangen-Nürnberg Lehrstuhl für Infrmatik 3 / Prfessur für Höchstleistungsrechnen CAMA Exercise 04 May 9, 2016 1 Overview
More informationComputer Architectures for! Medical Applications
Computer Architectures for! Medical Applications 1. Exercise, 14.4.2014 University Erlangen-Nuremberg Chair for Computer Architecture & Professorship for High Performance Computing Organizational Matters!
More informationEvaluation of Intel Xeon Phi "Knights Corner": Opportunities and Shortcomings
ERLANGEN REGIONAL COMPUTING CENTER Evaluation of Intel Xeon Phi "Knights Corner": Opportunities and Shortcomings J. Eitzinger 29.6.2016 Technologies Driving Performance Technology 1991 1992 1993 1994 1995
More informationComparison of High-Speed Ray Casting on GPU
Comparison of High-Speed Ray Casting on GPU using CUDA and OpenGL November 8, 2008 NVIDIA 1,2, Andreas Weinlich 1, Holger Scherl 2, Markus Kowarschik 2 and Joachim Hornegger 1 1 Chair of Pattern Recognition
More informationChapter 3. Texture mapping. Learning Goals: Assignment Lab 3: Implement a single program, which fulfills the requirements:
Chapter 3 Texture mapping Learning Goals: 1. To understand texture mapping mechanisms in VRT 2. To import external textures and to create new textures 3. To manipulate and interact with textures 4. To
More informationReal-Time High-Resolution Sparse Voxelization with. Application to Image-Based Modeling
Real-Time High-Resolution Sparse Voxelization with Application to Image-Based Modeling Charles Loop Cha Zhang Zhengyou Zhang Goal: live free-viewpoint visualization of remote scenes Scene capture from
More informationImplementation of a backprojection algorithm on CELL
Implementation of a backprojection algorithm on CELL Mario Koerner March 17, 2006 1 Introduction X-ray imaging is one of the most important imaging technologies in medical applications. It allows to look
More informationEffective Programming in C and UNIX Lab 6 Image Manipulation with BMP Images Due Date: Sunday April 3rd, 2011 by 11:59pm
15-123 Effective Programming in C and UNIX Lab 6 Image Manipulation with BMP Images Due Date: Sunday April 3rd, 2011 by 11:59pm The Assignment Summary: In this assignment we are planning to manipulate
More informationCUDA. Schedule API. Language extensions. nvcc. Function type qualifiers (1) CUDA compiler to handle the standard C extensions.
Schedule CUDA Digging further into the programming manual Application Programming Interface (API) text only part, sorry Image utilities (simple CUDA examples) Performace considerations Matrix multiplication
More informationDigital Image Fundamentals. Prof. George Wolberg Dept. of Computer Science City College of New York
Digital Image Fundamentals Prof. George Wolberg Dept. of Computer Science City College of New York Objectives In this lecture we discuss: - Image acquisition - Sampling and quantization - Spatial and graylevel
More informationProgramming refresher and intro to C programming
Applied mechatronics Programming refresher and intro to C programming Sven Gestegård Robertz sven.robertz@cs.lth.se Department of Computer Science, Lund University 2018 Outline 1 C programming intro 2
More informationWatershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS
HOUSEKEEPING Watershed Sciences 4930 & 6920 GEOGRAPHIC INFORMATION SYSTEMS CONTOURS! Self-Paced Lab Due Friday! WEEK SIX Lecture RASTER ANALYSES Joe Wheaton YOUR EXCERCISE Integer Elevations Rounded up
More informationGPU Computing with CUDA
GPU Computing with CUDA Hands-on: CUDA Profiling, Thrust Dan Melanz & Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical Engineering University of Wisconsin-Madison
More informationarxiv: v1 [cs.dc] 29 Jan 2014
Comparing the Performance of Different x86 SIMD Instruction Sets for a Medical Imaging Application on Modern Multi- and Manycore Chips Johannes Hofmann Chair for Computer Architecture University Erlangen
More informationColour and Number Representation. From Hex to Binary and Back. Colour and Number Representation. Colour and Number Representation
Colour and Number Representation From Hex to Binary and Back summary: colour representation easy: replace each hexadecimal "digit" with the corresponding four binary digits using the conversion table examples:
More informationRadiography and Tomography Lab 2: Computing Radiographs
Radiography and Tomography Lab 2: Computing Radiographs An Abbreviated View of Radiography Transmission Radiography is the process of measuring and recording changes in a high-energy particle beam (X-rays,
More informationComputing Visibility. Backface Culling for General Visibility. One More Trick with Planes. BSP Trees Ray Casting Depth Buffering Quiz
Computing Visibility BSP Trees Ray Casting Depth Buffering Quiz Power of Plane Equations We ve gotten a lot of mileage out of one simple equation. Basis for D outcode-clipping Basis for plane-at-a-time
More informationImage Prediction Based on Kalman Filtering for Interactive Simulation Environments
Image Prediction Based on Kalman Filtering for Interactive Simulation Environments M. SCHNITZLER, A. KUMMERT Department of Electrical and Information Engineering, Communication Theory University of Wuppertal
More informationDB Wide Table Storage. Summer Torsten Grust Universität Tübingen, Germany
DB 2 01 03 Wide Table Storage Summer 2018 Torsten Grust Universität Tübingen, Germany 1 Q₂ Querying a Wider Table 02 The next SQL probe Q₂ looks just Q₁. We query a wider table now, however: SELECT t.*
More informationNAME VCamera camera model representation
NAME VCamera camera model representation SYNOPSIS #include void VRegisterCameraType (void); extern VRepnKind VCameraRepn; VCamera camera; ld... -lvcam -lvista -lm -lgcc... DESCRIPTION
More informationMore on Images and Matlab
More on Images and Matlab Prof. Eric Miller elmiller@ece.tufts.edu Fall 2007 EN 74-ECE Image Processing Lecture 3-1 Matlab Data Types Different means of representing numbers depending on what you want
More informationData Types & Variables
Fundamentals of Programming Data Types & Variables Budditha Hettige Exercise 3.1 Write a C++ program to display the following output. Exercise 3.2 Write a C++ program to calculate and display total amount
More informationInput Nodes. Surface Input. Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking
Input Nodes Surface Input Nodal Motion Nodal Displacement Instance Generator Light Flocking The different Input nodes, where they can be found, what their outputs are. Surface Input When editing a surface,
More informationAn array is a collection of data that holds fixed number of values of same type. It is also known as a set. An array is a data type.
Data Structures Introduction An array is a collection of data that holds fixed number of values of same type. It is also known as a set. An array is a data type. Representation of a large number of homogeneous
More informationMotivation. Gray Levels
Motivation Image Intensity and Point Operations Dr. Edmund Lam Department of Electrical and Electronic Engineering The University of Hong ong A digital image is a matrix of numbers, each corresponding
More informationType Checking. Prof. James L. Frankel Harvard University
Type Checking Prof. James L. Frankel Harvard University Version of 7:10 PM 27-Feb-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. C Types C Types Type Category Type Category Type
More information! " #$$$! " %&&' ( ) (* )+!) )!, + + * *! "! " -. #$$/ ) ) * ) +, ( * +,*!)! +, ") +.!(.(, ",.(! " * %$$ *. + * +. ++ * +,*!). + %'$ *! " )! *. +! * ).! ( ) +..), )(!, (. + ), (! +, )!,,! ( +!(! +, +
More informationShadows and Texture Mapping
Shadows and Texture Mapping Eric C. McCreath School of Computer Science The Australian National University ACT 0200 Australia ericm@cs.anu.edu.au Overview 2 Shadows Textures Importance Co ordinates OpenGL
More informationUlrik Söderström 17 Jan Image Processing. Introduction
Ulrik Söderström ulrik.soderstrom@tfe.umu.se 17 Jan 2017 Image Processing Introduction Image Processsing Typical goals: Improve images for human interpretation Image processing Processing of images for
More informationSparse Matrices. sparse many elements are zero dense few elements are zero
Sparse Matrices sparse many elements are zero dense few elements are zero Special Matrices A square matrix has the same number of rows and columns. Some special forms of square matrices are Diagonal: M(i,j)
More informationFirst of all, it is a variable, just like other variables you studied
Pointers: Basics What is a pointer? First of all, it is a variable, just like other variables you studied So it has type, storage etc. Difference: it can only store the address (rather than the value)
More informationGPU Computing with CUDA
GPU Computing with CUDA Hands-on: Shared Memory Use (Dot Product, Matrix Multiplication) Dan Melanz & Dan Negrut Simulation-Based Engineering Lab Wisconsin Applied Computing Center Department of Mechanical
More informationOpenCL C. Matt Sellitto Dana Schaa Northeastern University NUCAR
OpenCL C Matt Sellitto Dana Schaa Northeastern University NUCAR OpenCL C Is used to write kernels when working with OpenCL Used to code the part that runs on the device Based on C99 with some extensions
More informationOptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from
OptimiData for optimized data handling JPEG2000 Software Development Kit for C/C++ Reference Manual Version 1.6 from 2004-07-29 (Windows and Linux Versions) www.optimidata.com OptimiData JPEG2000 C-SDK
More informationCS 430 Spring Mike Lam, Professor. Data Types and Type Checking
CS 430 Spring 2015 Mike Lam, Professor Data Types and Type Checking Type Systems Type system Rules about valid types, type compatibility, and how data values can be used Benefits of a robust type system
More informationImage warping and stitching
Image warping and stitching May 4 th, 2017 Yong Jae Lee UC Davis Last time Interactive segmentation Feature-based alignment 2D transformations Affine fit RANSAC 2 Alignment problem In alignment, we will
More informationWeek 3 Lecture 2. Types Constants and Variables
Lecture 2 Types Constants and Variables Types Computers store bits: strings of 0s and 1s Types define how bits are interpreted They can be integers (whole numbers): 1, 2, 3 They can be characters 'a',
More informationComputer Vision Projective Geometry and Calibration. Pinhole cameras
Computer Vision Projective Geometry and Calibration Professor Hager http://www.cs.jhu.edu/~hager Jason Corso http://www.cs.jhu.edu/~jcorso. Pinhole cameras Abstract camera model - box with a small hole
More information1. Complete these exercises to practice creating user functions in small sketches.
Lab 6 Due: Fri, Nov 4, 9 AM Consult the Standard Lab Instructions on LEARN for explanations of Lab Days ( D1, D2, D3 ), the Processing Language and IDE, and Saving and Submitting. Rules: Do not use the
More informationPostScript Internals Graphics II Spring 1999
PostScript Internals 15-463 Graphics II Spring 1999 Background PostScript raster image processor for Mac All Level 1 features Some support for color and multi-bit devices Undergrad independent study: MacRIP
More informationOutline. Review of Last Week II. Review of Last Week. Computer Memory. Review Variables and Memory. February 7, Data Types
Data Types Declarations and Initializations Larry Caretto Computer Science 16 Computing in Engineering and Science February 7, 25 Outline Review last week Meaning of data types Integer data types have
More informationCS 130 Final. Fall 2015
CS 130 Final Fall 2015 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationTESTING OF THE CIRCLE AND LINE ALGORITHM IN THE SETTING OF MICRO-CT
SCA2016-080 1/7 TESTING OF THE CIRCLE AND LINE ALGORITHM IN THE SETTING OF MICRO-CT Alexander Katsevich 1, 2 and Michael Frenkel 1 1 itomography Corp., 2 University of Central Florida (UCF) This paper
More informationLecture 8 Dynamic Memory Allocation
Lecture 8 Dynamic Memory Allocation CS240 1 Memory Computer programs manipulate an abstraction of the computer s memory subsystem Memory: on the hardware side 3 @ http://computer.howstuffworks.com/computer-memory.htm/printable
More informationImage warping and stitching
Image warping and stitching May 5 th, 2015 Yong Jae Lee UC Davis PS2 due next Friday Announcements 2 Last time Interactive segmentation Feature-based alignment 2D transformations Affine fit RANSAC 3 Alignment
More informationSiemens S (symbolic addressing) (Ethernet)
Siemens S7-1200 (symbolic addressing) (Ethernet) Supported Series: Siemens S7-1200 series Ethernet. Website: http://www.siemens.com/entry/cc/en/ HMI Setting: Parameters Recommended Options Notes PLC type
More informationWe will start our journey into Processing with creating static images using commands available in Processing:
Processing Notes Chapter 1: Starting Out We will start our journey into Processing with creating static images using commands available in Processing: rect( ) line ( ) ellipse() triangle() NOTE: to find
More informationA First Book of ANSI C Fourth Edition. Chapter 8 Arrays
A First Book of ANSI C Fourth Edition Chapter 8 Arrays Objectives One-Dimensional Arrays Array Initialization Arrays as Function Arguments Case Study: Computing Averages and Standard Deviations Two-Dimensional
More informationScheduling Image Processing Pipelines
Lecture 14: Scheduling Image Processing Pipelines Visual Computing Systems Simple image processing kernel int WIDTH = 1024; int HEIGHT = 1024; float input[width * HEIGHT]; float output[width * HEIGHT];
More informationViewing and Ray Tracing. CS 4620 Lecture 4
Viewing and Ray Tracing CS 4620 Lecture 4 2014 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2014 Steve
More informationViewing and Ray Tracing
Viewing and Ray Tracing CS 4620 Lecture 4 2018 Steve Marschner 1 Projection To render an image of a 3D scene, we project it onto a plane Most common projection type is perspective projection 2018 Steve
More informationDaala: One year later
Daala: One year later Timothy B. Terriberry Original Plan Finish Daala by the end of 2015 This obviously ain t gonna happen 2 Original Plan Finish Daala by the end of 2015 This obviously ain t gonna happen
More informationSplatting (feed-forward) Fill the holes. Process for volume rendering. Footprint Evaluation for Volume Rendering. Feed Backward vs.
Footprint Evaluation for Volume Rendering A Feedforward Approach a.k.a. Process for volume rendering Reconstruct the continuous volume function Shade the continuous function Project this continuous function
More informationIndirect Illumination
Indirect Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Announcements Midterm on October 17 th Office hours: Misha: Monday 2-3 Malone 229 Sing Chun: Friday 9-10 Malone 216
More informationMotivation. Intensity Levels
Motivation Image Intensity and Point Operations Dr. Edmund Lam Department of Electrical and Electronic Engineering The University of Hong ong A digital image is a matrix of numbers, each corresponding
More informationQUIZ Lesson 4. Exercise 4: Write an if statement that assigns the value of x to the variable y if x is in between 1 and 20, otherwise y is unchanged.
QUIZ Lesson 4 Exercise 4: Write an if statement that assigns the value of x to the variable y if x is in between 1 and 20, otherwise y is unchanged. QUIZ Lesson 4 Exercise 4: Write an if statement that
More informationCS 33. Data Representation, Part 2. CS33 Intro to Computer Systems VIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.
CS 33 Data Representation, Part 2 CS33 Intro to Computer Systems VIII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Numeric Ranges Unsigned Values UMin = 0 000 0 UMax = 2 w 1 111 1 Two s Complement
More informationThe C++ Language. Arizona State University 1
The C++ Language CSE100 Principles of Programming with C++ (based off Chapter 2 slides by Pearson) Ryan Dougherty Arizona State University http://www.public.asu.edu/~redoughe/ Arizona State University
More informationHW 1: Project Report (Camera Calibration)
HW 1: Project Report (Camera Calibration) ABHISHEK KUMAR (abhik@sci.utah.edu) 1 Problem The problem is to calibrate a camera for a fixed focal length using two orthogonal checkerboard planes, and to find
More informationC Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017
C Concepts - I/O Lecture 19 COP 3014 Fall 2017 November 29, 2017 C vs. C++: Some important differences C has been around since around 1970 (or before) C++ was based on the C language While C is not actually
More informationPace University. Fundamental Concepts of CS121 1
Pace University Fundamental Concepts of CS121 1 Dr. Lixin Tao http://csis.pace.edu/~lixin Computer Science Department Pace University October 12, 2005 This document complements my tutorial Introduction
More informationIDL Lab #6: The IDL Command Line
IDL Lab #6: The IDL Command Line Name: IDL Lab #6: A Sub-component of FOR 504 Advanced Topics in Remote Sensing The objectives of this laboratory exercise are to introduce the student to using IDL via
More informationSubmission instructions (read carefully): SS17 / Assignment 4 Instructor: Markus Püschel. ETH Zurich
263-2300-00: How To Write Fast Numerical Code Assignment 4: 120 points Due Date: Th, April 13th, 17:00 http://www.inf.ethz.ch/personal/markusp/teaching/263-2300-eth-spring17/course.html Questions: fastcode@lists.inf.ethz.ch
More informationGive one example where you might wish to use a three dimensional array
CS 110: INTRODUCTION TO COMPUTER SCIENCE SAMPLE TEST 3 TIME ALLOWED: 60 MINUTES Student s Name: MAXIMUM MARK 100 NOTE: Unless otherwise stated, the questions are with reference to the Java Programming
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationArduCAM USB Camera SDK
ArduCAM USB Camera SDK User Guide Rev 1.0, April 2017 Table of Contents 1 Introduction... 2 2 USB SDK Library... 2 3 Demo Code... 2 3.1 Thread.cpp... 2 3.2 USBTestDlg.cpp... 2 4 ArduCAM APIs... 2 4.1 Data
More informationAnnouncements. Mosaics. How to do it? Image Mosaics
Announcements Mosaics Project artifact voting Project 2 out today (help session at end of class) http://www.destination36.com/start.htm http://www.vrseattle.com/html/vrview.php?cat_id=&vrs_id=vrs38 Today
More informationIndirect Illumination
Indirect Illumination Michael Kazhdan (601.457/657) HB Ch. 14.1, 14.2 FvDFH 16.1, 16.2 Surface Illumination Calculation Multiple light source: 2 Viewer N 1 V I = I E + K A I A + K D N, + K S V, R n I Overview
More informationArrays. An array is a collection of several elements of the same type. An array variable is declared as array name[size]
(November 10, 2009 2.1 ) Arrays An array is a collection of several elements of the same type. An array variable is declared as type array name[size] I The elements are numbered as 0, 1, 2... size-1 I
More informationCIS 2107 Computer Systems and Low-Level Programming Spring 2012 Final
Spring 2012 Name: Page Points Score 1 14 2 7 3 6 4 5 5 5 6 5 7 10 8 11 9 10 10 9 11 8 12 10 Total: 100 Instructions The exam is closed book, closed notes. You may not use a calculator, cell phone, etc.
More informationNon-numeric types, boolean types, arithmetic. operators. Comp Sci 1570 Introduction to C++ Non-numeric types. const. Reserved words.
, ean, arithmetic s s on acters Comp Sci 1570 Introduction to C++ Outline s s on acters 1 2 3 4 s s on acters Outline s s on acters 1 2 3 4 s s on acters ASCII s s on acters ASCII s s on acters Type: acter
More informationECE331 Homework 4. Due Monday, August 13, 2018 (via Moodle)
ECE331 Homework 4 Due Monday, August 13, 2018 (via Moodle) 1. Below is a list of 32-bit memory address references, given as hexadecimal byte addresses. The memory accesses are all reads and they occur
More informationECE 190 Midterm Exam 3 Spring 2011
ECE 190 Midterm Exam 3 Spring 2011 Practice Exam Notes: This exam will consist entirely of five programming problems. Each problem will be graded separately. We will provide skeleton codes for each problem.
More informationANSI C Programming Simple Programs
ANSI C Programming Simple Programs /* This program computes the distance between two points */ #include #include #include main() { /* Declare and initialize variables */ double
More informationA Fast Review of C Essentials Part I
A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationBrook+ Data Types. Basic Data Types
Brook+ Data Types Important for all data representations in Brook+ Streams Constants Temporary variables Brook+ Supports Basic Types Short Vector Types User-Defined Types 29 Basic Data Types Basic data
More information1. Stereo Correspondence. (100 points)
1. Stereo Correspondence. (100 points) For this problem set you will solve the stereo correspondence problem using dynamic programming. The goal of this algorithm is to find the lowest cost matching between
More informationTema 6: Dynamic memory
Tema 6: Programming 2 and vectors defined with 2013-2014 and Index and vectors defined with and 1 2 3 and vectors defined with and and vectors defined with and Size is constant and known a-priori when
More informationParallel Image Processing
Parallel Image Processing Course Level: CS1 PDC Concepts Covered: PDC Concept Concurrency Data parallel Bloom Level C A Programming Skill Covered: Loading images into arrays Manipulating images Programming
More informationHW2d Project Addenda
HW2d Project Addenda CS 320 Note the following differences between the project description for Harvard s CS 175 class and our class: 1. The CS 175 due date is not applicable. 2. The starter code location
More informationRay tracing. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 3/19/07 1
Ray tracing Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 3/19/07 1 From last time Hidden surface removal Painter s algorithm Clipping algorithms Area subdivision BSP trees Z-Buffer
More informationHow to declare an array in C?
Introduction An array is a collection of data that holds fixed number of values of same type. It is also known as a set. An array is a data type. Representation of a large number of homogeneous values.
More informationTable of Contents THE ANALYZEAVW IMAGE FILE FORMAT. 1. Organizing a List of DICOM Files page 2
1 Table of Contents 1. Organizing a List of DICOM Files page 2 2. AVW_VolumeFile as a Header to a Single Binary File page 4 3. Organizing a List of Unknown Files page 5 4. AnalyzeAVW Image File Format
More informationData Structure Lecture#15: Non-Binary Trees 2 (Chapter 6) U Kang Seoul National University
Data Structure Lecture#15: Non-Binary Trees 2 (Chapter 6) U Kang Seoul National University U Kang (2016) 1 In This Lecture Main ideas in implementations of general trees Compare advantages and disadvantages
More informationAssignment #5: Scalar Field Visualization 3D: Direct Volume Rendering
Assignment #5: Scalar Field Visualization 3D: Direct Volume Rendering Goals: Due October 4 th, before midnight This is the continuation of Assignment 4. The goal is to implement a simple DVR -- 2D texture-based
More informationTexture Mapping 1/34
Texture Mapping 1/34 Texture Mapping Offsets the modeling assumption that the BRDF doesn t change in u and v coordinates along the object s surface Store a reflectance as an image called a texture Map
More informationImage Processing. Overview. Trade spatial resolution for intensity resolution Reduce visual artifacts due to quantization. Sampling and Reconstruction
Image Processing Overview Image Representation What is an image? Halftoning and Dithering Trade spatial resolution for intensity resolution Reduce visual artifacts due to quantization Sampling and Reconstruction
More informationRaima Database Manager Version 14.1 In-memory Database Engine
+ Raima Database Manager Version 14.1 In-memory Database Engine By Jeffrey R. Parsons, Chief Engineer November 2017 Abstract Raima Database Manager (RDM) v14.1 contains an all new data storage engine optimized
More informationheman Documentation Release r1 Philip Rideout
heman Documentation Release r1 Philip Rideout August 17, 2015 Contents 1 Why the name heman? 3 2 Source code 5 3 Documentation 7 3.1 Heman Overview............................................. 7 3.2 Heman
More informationThe New C Standard (Excerpted material)
The New C Standard (Excerpted material) An Economic and Cultural Commentary Derek M. Jones derek@knosof.co.uk Copyright 2002-2008 Derek M. Jones. All rights reserved. 39 3.2 3.2 additive operators pointer
More informationChapter 1 Getting Started
Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different
More informationNumber Representation & Conversion
Number Representation & Conversion Chapter 4 Under the covers of numbers in Java 1 How (Unsigned) Integers Work Base 10 Decimal (People) Base 2 Binary (Computer) 10 2 10 1 10 0 2 3 4 2 7 2 6 2 5 2 4 2
More informationDigital Video Processing
Video signal is basically any sequence of time varying images. In a digital video, the picture information is digitized both spatially and temporally and the resultant pixel intensities are quantized.
More informationOBJECTIVE QUESTIONS: Choose the correct alternative:
OBJECTIVE QUESTIONS: Choose the correct alternative: 1. Function is data type a) Primary b) user defined c) derived d) none 2. The declaration of function is called a) function prototype b) function call
More informationBinghamton University. CS-211 Fall Data Conversion. software diversity in action
Data Conversion software diversity in action 1 What happens when types are mixed? Mixed Type Expressions int x; float y; x=y*x; Assignment Statements int x; float y; x=y*3.0; Argument Evaluation int myfn(float
More informationPointers (continued), arrays and strings
Pointers (continued), arrays and strings 1 Last week We have seen pointers, e.g. of type char *p with the operators * and & These are tricky to understand, unless you draw pictures 2 Pointer arithmetic
More informationLecture 2: C Programm
0 3 E CS 1 Lecture 2: C Programm ing C Programming Procedural thought process No built in object abstractions data separate from methods/functions Low memory overhead compared to Java No overhead of classes
More informationMicrocontroller Systems. ELET 3232 Topic 8: Structures, Arrays, & Pointers
Microcontroller Systems ELET 3232 Topic 8: Structures, Arrays, & Pointers 1 Agenda Become familiar with and apply: Arrays Structures Pointers 2 Array Arrays A data set of a particular data type All elements
More information