Operating Systems
Programming Languages
Microsoft Technologies
Computer Science
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

Other Programming

Book Title : Introduction to Programming for Image Analysis with VTK
eBook download format(s) : html
Author(s) : Xenophon Papademetris
Section : Other Programming
Book Review:

Book Description This book is an edited collection of class handouts that I wrote for the graduate seminar "Programming for Medical Image Analysis" that was taught at Yale University, Department of Biomedical Engineering, in the Fall of 2006. My goal for the class was to provide sufficient introductory material for a typical 1st year engineering graduate student with some background in programming in C and C to acquire the skills to leverage modern open source toolkits in medical image analysis and visualization such as the Visualization Toolkit (VTK) and, to a lesser extent, the Insight Toolkit (ITK).

Most of our graduate students - the intended audience for this book and class - while having a strong applied mathematics/signal processing background, are not expert programmers. Frequently, they would have had some programming classes at the undergraduate level and would have been, most likely, exposed to C/C at some point. However, with rare exceptions, a dive into the combination of object-oriented and generic programming model used in ITK, for instance, would leave most of them befuddled.

Such students begin their graduate research in semester long projects called "special investigations". This is part of the process of identifying a topic for their research as well as a lab in which they will pursue their dissertation work. In our own research in medical image analysis, the typical product of a doctoral dissertation is a mathematical framework for attacking an image analysis problem which has to be translated into computer code for testing and validation.

Most of the students, in these special investigations, prototype ideas in MATLAB. While MATLAB is a wonderful prototyping tool, it leaves much to be desired in terms of the development of the programming habits needed to write a large, sustainable, and reusable body of code. Unfortunately, many students ending up in the trap of developing the best algorithms that can be implemented in MATLAB as opposed to focusing on what on optimal algorithmic strategy would be. This is especially apparent once large 3D and 4D datasets enter into the picture, and their algorithms end up taking hours and days to run.

At this point in the game, a helpful professor suggests that they should probably look to move to a more efficient language such as C . However, one look at straight C without any of the additional toolkits, makes them realize that switching to C is easier said than done. There are very few default operations for things like linear algebra, image processing, image display etc. Then, perhaps, another helpful person suggests that they take a look at VTK and/or ITK. While now, they can see that there is a ton of functionality out there, they are often lost as to where to begin. VTK and ITK are natural tools once one is used to them but they can be imposing and "scary" to the beginner. While there are some books out there (especially the VTK User's Guide) which are very helpful, they are often only obliquely related to what they really need to learn how to do: implement image analysis methods, learn how to (properly) display their results, and learn how to put a graphical user interface to enable them and their potential users to interact with the methods. The goal of the course, and this book, is to precisely provide the necessary guidance for a new graduate student in order to achieve these goals.

add to                 Digg!

You may use anyone of the download options

eBook VersionLook @ Amazon
Front Cover

Missing Link?, Report It and you may wish to find Similar Books from amazon.

Tell a Friend!

Similar Book titles in Other Programming section:
Ada 95: The Craft of Object-Oriented Programming
Common Lisp: A Gentle Introduction to Symbolic Computation
Pascal Programming
Principles of Programming Languages
Programming Language Examples Alike Cookbook
Prolog Programming: A First Course
ZX81 BASIC Programming
Programming in Oberon - Steps Beyond Pascal and Modula
Ada Distilled: An Introduction to Ada Programming
Rebol Programming For The Absolute Beginner
The Big Online Book of Linux Ada Programming
An Introduction to Programming in Emacs Lisp
Modular Programming with Fortran 90
User Notes On Fortran Programming
An Introduction to Logic Programming Through Prolog
Prolog and Natural Language Analysis
The INTERCAL Programming Language -Revised Reference Manual
The SMALL Programming Language (the Small booklet The Language)
Algae - Another Matrix Programming Language
Programming Forth
Programming In Lua
Job Control Language (JCL) Introduction
Introduction to JCL Objectives
Linear Programming, Second Edition - Foundations and Extensions
Seamless Object-Oriented Software Architecture: Analysis and Design of Reliable Systems
Ada in Action: With Practical Programming Examples, Second Edition
Programming in Standard ML
Type Systems for Programming Languages
Introduction to Functional Programming
The Implementation of Functional Programming Languages
The Craft of Programming
A Practical Theory of Programming, Second Edition
Prolog and Logic Programming
Learning Object Oriented Programming with Delphi

Similar Book titles in Other sections:

Section: Bio-Chemistry
Introduction to Glycolysis
Protein sequence analysis - A practical guide, University of Manchester
Data Analysis and Visualization in Genomics and Proteomics
Computational Molecular Biology: An Introduction

Section: CS -> Compilers and Languages
Semantics with Applications: A Formal Introduction
Programming Languages: Application and Interpretation
Functional Programming and Parallel Graph Rewriting
Programming in Martin-Lof's Type Theory
Advanced Programming Language Design
Show all..

Section: Data Structures and Algorithms
Introduction to Computer Graphics
Concepts, Techniques, and Models of Computer Programming
Introduction to Algorithms
Algorithm Design - Foundations, Analysis & Internet Examples
Design and Analysis of Computer Algorithms
Show all..

Section: Multimedia & Game Development
Programming The Nintendo Game Boy Advance: The Unofficial Guide

Section: CS -> Theory
Introduction to Computer Science I
An Introduction to the Theory of Computation (Principles of Computer Science Series)
Introduction to Symbolic Computation
An Introduction to Multigrid Methods
Type Theory and Functional Programming
Show all..

Section: DB -> Datawarehousing
Data Mining - An Introduction Student Notes

Section: DB -> DB / 2
Road Map to DB2 Programming

Section: DB -> Oracle
Oracle Programming with Visual Basic
Oracle PL/SQL Programming, 2nd Edition
Oracle PL/SQL Programming: Guide to Oracle8i Features
Advanced Oracle PL/SQL Programming with Packages (Nutshell Handbook)

Section: DB -> Others
Database Programming with Perl
Introduction to Databases for the Web
Introduction to Databases for Web Developers
Introduction to Sybase
Programming the Perl DBI
Show all..

Section: DB -> Postgre SQL
PostgreSQL: Introduction and Concepts
An Introduction to MySQL

Section: DB -> SQL
Introduction to SQL
A Gentle Introduction to SQL
Structured Query Language (SQL) : A Practical Introduction
Embedded SQL Programming Guide

Section: DB -> SQL Server
SQL Server 2005 Stored Procedure Programming in T-SQL & .NET

Section: Device Drivers
Introduction to Writing Windows CE Display Drivers
Streams Programming Guide

Section: Logic Design and Architecture
An Introduction to VHDL

Section: Microprocessor
Assembly Language Programming Tools for the IA-64 Architecture
CAN (Controller Area Network): Introduction and Fundamentals
IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming Guide
Introduction to Microcontrollers
Programming PIC Microcontroller in C (CC5X compiler)
Show all..

Section: Peripherals
Introduction to PCI
Programming guide and sample code for RTL8139 family
Serial Port Programming Information ZIP
SoundBlaster Programming Information v0.90

Section: Advanced Java
Principles of Object-Oriented Programming in Java
Tricks of Java Programming Gurus
Practical Artificial Intelligence Programming in Java
Introduction to Computer Science Using Java
Concurrent Programming Using Java
Show all..

Section: Java Enterprise Edition
Enterprise Java Beans, an Introduction
Programming Jakarta Struts
Programming Jakarta Struts, 2nd Edition

Section: Java User Interface
Programming User Interfaces with JFC
Teach Yourself Internet Game Programming With Java in 21 Days
Java 2D: An Introduction and Tutorial

Section: Java Language
Code Conventions for the Java Programming Language
Essentials of the Java Programming Language, Part 1
Essentials of the Java Programming Language, Part 2
Peter Norton's Guide to Java Programming
Teach Yourself Java 1.1 Programming in 24 Hours
Show all..

Section: Java Networking
Web Programming with Java
Java Thin Client Programming

Section: Java Tools
Java Programming Guide for OS/390
IMS Version 7 and Java Application Programming

Section: Mathematics
An Introduction to Neural Networks
Introduction to Group Theory
Mathematical Analysis I
Mathematics for Algorithm and Systems Analysis
A Computational Introduction to Number Theory and Algebra
Show all..

Section: Miscellaneous
Computer Vision and Image Processing
Michael Abrash's Graphics Programming Black Book
Microsoft RPC Programming Guide
Digital Image Processing
An introduction to Cryptography
Show all..

Section: Sales, Marketing & Trading
Intermarket Technical Analysis: Trading Strategies for the Global Stock, Bond, Commodity, and Currency Markets

Section: Microsoft Certifications
Programming Desktop Applications With MS Visual Basic6 MCSD training kit

Section: Microsoft C Sharp (C#)
A Programmer's Introduction to C# (Second Edition)
C# COM+ Programming
C Sharp Network Programming
Programming C# (2nd Edition)
Programmer Introduction to C#
Show all..

Section: Microsoft COM/DCOM/ActiveX/ATL
ActiveX Programming Unleashed
Activex Programming With Visual C++ 5
Programming Distributed Applications With COM And Microsoft Visual Basic 6.0
Teach Yourself Activex Programming in 21 Days
Programming ADO
Show all..

Section: Microsoft .(dot) net
Applied Microsoft .Net Framework Programming
Programming Microsoft.NET
Web Programming with Visual J++

Section: Office Development
Programming Microsoft Visual Interdev 6
Programming Microsoft Office 2000 Web Components
Programming Microsoft Outlook and Microsoft Exchange

Section: Microsoft Visual Basic
Programming Microsoft Visual Basic 6
Web Programming with Visual Basic
COM+ Programming with Visual Basic
Programming VB .NET: A Guide for Experienced Programmers

Section: Microsoft Visual C++
Programming Visual C++, 5th Edition
Teach Yourself Database Programming with VC++ 6 in 21 Days
Programming Windows with MFC
Mastering Windows 2000 Programming with Visual C++

Section: MS Web Technologies
Programming Microsoft Internet Explorer 5
Programming Active Server Pages

Section: Windows Development
Programming the Microsoft Windows Driver Model, Second Edition
Tricks of the Windows Game Programming Gurus (2nd Edition)
Programming Windows CE
Programming Server Side Applications For Microsoft Windows 2000
Programming Applications For Microsoft Windows
Show all..

Section: Networking
Introduction to Data Communications
Introduction to Computer, Internet & Network Systems Security
Programming Principles in Java: Architectures and Interfaces
Communication Network Analysis

Section: Other Engineering
Structural Engineering, Analysis and Design

Section: GNU/Linux OS
Introduction to Linux
Advanced Linux Programming
Introduction to Socket Programming
Teach Yourself Shell Programming in 24 Hours
Effective AWK Programming
Show all..

Section: Embedded and RTOS
Real-time Systems Specification, Verification and Analysis
Programming Embedded Systems in C and C++
Introduction to Robotics: Mechanics and Control

Section: Solaris OS
Programming Interfaces Guide
Streams Programming Guide
Multithreaded Programming Guide

Section: OS Theory
Programming the Be Operating System
Spring Concepts, Internals Architecture and Programming
HOPE: A Programming Model for Optimism
Analysis of the Ext2fs structure
The Art of Unix Programming
Show all..

Section: Unix OS
Nextstep Programming: Step One : Object-Oriented Applications/Book and Disk
The Unix Programming Environment
Introduction to Unix for Web Developers
Volume 7A: XView Programming Manual

Section: Assembly Language
Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the PC and Windows
Introduction to RISC Assembly Language Programming
Programming from the Ground Up
The Art of Assembly Language Programming
Programmed Introduction to MIPS Assembly Language
Show all..

Section: C Language
Introduction to C and C++ Programming
C Programming Tutorial (K&R version 4)
Writing Bug-Free C Code for Windows: A Programming Style That Automatically Detects Bugs in C Code
Programming in C: A Tutorial
C Programming
Show all..

Section: COBOL Programming
ZingCOBOL: A Beginner's Guide to Programming in COBOL
COBOL Programming Course
COBOL Programming Guide
VisualAge COBOL for Windows Programming Guide
COBOL Programming Standards
Show all..

Section: C++ Language
An Introduction to C++ and Object Oriented Programming
An Introduction to C++ Programming
C++ in Action: Industrial Strength Programming Techniques
C++ Programming for Scientists
C++ Programming HOW-TO
Show all..

Section: Perl Scripting
Advanced Perl Programming
Effective Perl Programming: Writing Better Programs With Perl
Practical Perl Programming
Programming Perl 5.0 CGI Web Pages for Microsoft Windows NT
Programming Perl, 3rd Edition
Show all..

Section: Ruby Programming
Programming Ruby - The Pragmatic Programmer's Guide

Section: Scripting
An Introduction to Scheme and its Implementation
Introduction to TCL/TK
Practical Programming in Tcl and Tk
The Scheme Programming Language, Second Edition
Tclwise - Guide to the Tcl Programming Language
Show all..

Section: Smalltalk
Smalltalk: An Introduction to Application Development Using VisualWorks
Smalltalk and Object Orientation: An Introduction
Smalltalk/V Mac Tutorial and Programming Handbook
Smalltalk-80: The Interactive Programming Environment

Section: Redbooks Draft
IBM/Cisco Multiprotocol Routing: An Introduction and Implementation
GDPS Family - An Introduction to Concepts and Capabilities
IBM System Storage DS3000: Introduction and Implementation Guide
IBM System z9 Business Class Technical Introduction
Introduction to Workload Partition Management in IBM AIX Version 6
Show all..

Section: Redbooks
ABCs of z/OS System Programming Volume 9
IBM TotalStorage: Introduction to SAN Routing
IBM System z9 Business Class Technical Introduction
Blue Gene/L: Performance Analysis Tools
Introduction to the New Mainframe: z/OS Basics
Show all..

Section: IBM Technotes
Content Manager Server Log Utilities for Performance-Related Troubleshooting and Analysis

Section: Redpapers
IBM System p5 510 and 510Q Technical Overview and Introduction
IBM BladeCenter JS21 Technical Overview and Introduction
IBM System p5 185 Technical Overview and Introduction
IBM System p5 560Q Technical Overview and Introduction
IBM IntelliStation POWER 185 Technical Overview and Introduction
Show all..

Section: Redpapers Draft
IBM System p5 505 and 505Q Technical Overview and Introduction
IBM System p5 550 and 550Q Technical Overview and Introduction
IBM System p5 510 and 510Q Technical Overview and Introduction
IBM System p5 590 and 595 Technical Overview and Introduction
System x3755 Technical Introduction
Show all..

Section: Software Engineering
How to Design Programs: An Introduction to Programming and Computing
Programming from Specifications
Reusable Software Components: Object-Oriented Embedded Systems Programming in C
Task-Centered User Interface Design - A Practical Introduction
Reasoned Programming
Show all..

Section: Web Programming
Web Client Programming with Perl
CGI Programming on the World Wide Web
Voodoo's Introduction to JavaScript
Introduction to Databases for the Web
CGI Programming Unleashed
Show all..

Section: Web Technology
Introduction to Dynamic HTML
Introduction to Adobe Photoshop
Introduction to Web Design
Introduction to HTML
Introduction to Web Design
Show all..

Section: XML, XSL & UML
A Gentle Introduction to XML
Introduction to XML for Web Developers
A Technical Introduction to XML (N. Walsh)
Introduction to XForms
Introduction to XML Programming
Show all..

Similar Books from Amazon :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions