IDLffAnalyze Class. Ron Kneusel RSI

Size: px
Start display at page:

Download "IDLffAnalyze Class. Ron Kneusel RSI"

Transcription

1 IDLffAnalyze Class Ron Kneusel RSI December 2004

2 Table of Contents 1 Purpose Assumptions Unsupported Features Using the IDLffAnalyze Class IDLffAnalyze and Data Orientation Radiological Order The ORIENT field The HEADER structure Method Reference Class Initialization Syntax Description GetProperty Syntax Description SetProperty Syntax Description GetNCols Syntax Description GetNRows Syntax Description GetNSlices Syntax Description GetNVolumes Syntax Description GetOrientation Syntax Description GetVoxelDims Syntax Description SetVoxelDims Syntax Description of 24

3 7.11 SetBitPix Syntax Description SetOrientation Syntax Description QueryPixelData Syntax Description GetPixelData Syntax Description GetVolume Syntax Description GetImage Syntax Description SetPixelData Syntax Description SetVolume Syntax Description SetImage Syntax Description ReadHeaderFile Syntax Description ReadFile Syntax Description WriteFile Syntax Description of 24

4 1 Purpose This document describes the IDLffAnalyze class. This class implements code to read and write files in the ANALYZE 7.5 format developed by the Mayo clinic. This format is widely used in medical imaging research. 2 Assumptions This document assumes that the reader is at least modestly familiar with the ANALYZE format. The documents will describe the IDLffAnalyze class and how it works but will not detail the ANALYZE 7.5 format explicitly. 3 Unsupported Features The current implementation of IDLffAnalyze does not support the following features of the ANALYZE 7.5 standard: 1. BINARY data type, packed bits for binary images. 2. RGB data type, RGB images. These will be added in a future version of this class. 4 Using the IDLffAnalyze Class This class operates syntactically like all other IDL classes. But in order to use it properly certain things need to be kept in mind: 1. The IDLffAnalyze class stores data internally in what is known as radiological order. This ordering is used regardless of the ordering used to store the data on disk. 2. Input is always adjusted so that it is 4 dimensional, columns, rows, slices and volumes such that a single slice would be n-columns x m-rows x 1-slice x 1-volume. Many methods assume the volume number is zero if it is not given. 3. Many of the major and most commonly used properties are available through the GetProperty method, but full header access is only available by using the ALL property to get and update 4 of 24

5 the header. 4. There is a one-to-one correspondence between most of the ANALYZE data types and native IDL types with the exception of the ANALYZE RGB format. 5. The ANALYZE format is a loose standard. It is not rigorously enforced and many variations exist. The IDLffAnalyze class implements a few common variations to support using the class with files generated by the SPM99 and SPM2 functional neuroimaging analysis applicationis. (SPM = Statistical Parametric Mapping ). 6. IDLffAnalyze only reads standard 348 byte headers. Extended headers (allowed by SPM2) or NifTI headers (for.nii files) are not read. 7. IDLffAnalyze reads data in big-endian or little-endian order and converts it to the native order of the machine running the code if necessary. Output can be in either byte order as indicated by the ENDIAN property. 5 IDLffAnalyze and Data Orientation Data orientation on disk and in memory is an often confusing area, partly due to the lack of conformity in regards to implementing the ANALYZE 7.5 format. The choices made here for the IDLffAnalyze class are: 1. Internally, all data will be stored in radiological order (see below). This is the format used by the Analyze application. 2. The ORIENT field of the history structure will be used by default. This can be overridden when reading a file. 5.1 Radiological Order Radiological order refers to a certain way of looking at the data. It is used to define the three common image views: transverse (or axial), coronal, and sagittal. These names are used even when, in the case of MRI, the actual orientation could be at any angle to the orthogonal planes. Within each view, the data may thought of as being viewed in one of two ways. For axial planes, the image may be viewed from the top down ( neurological order ) or the bottom up ( radiological order ). The order used by IDLffAnalyze is best understood visually: 5 of 24

6 Y A S to the scanner Z P I Patient on his back with head towards the scanner R L X In this figure, the directions are measured from the patient, ie, R to L refers to from the patient's right to the patient's left. The three orthogonal axes are referred to as 'X', 'Y' and 'Z' but in reality they may be obliqued and therefore are best understood as 1 st, 2 nd, and 3 rd where the 'X' is the fastest running (ie, columns), 'Y' is the next fastest (rows), and 'Z' is the slowest (slices). Not shown is volumes, there may be more than one volume in the dataset, in which case it is the next slowest, after 'Z'. The letters in the figure are R-L for right to left, P-A for posterior to anterior, and I-S for inferior to superior. The latter is sometimes referred to as F-H for foot to head. This arrangement is sometimes known as LAS using the final direction letter for each axis. The advantage of this view is that the lower-left corner of each orthogonal plane is (0,0). Axial (transverse) slices then are viewed as if standing at the patient's feet and looking up towards the scanner. This assumes the patient is supine (on his back). Coronal slices are viewed from under the patient table up towards the ceiling and saggital slices are viewed across the patient as if standing next to the patient's right shoulder. 5.2 The ORIENT field The ANALYZE 7.5 standard defines an optional history structure. While optional in the sense that it can be left empty, it must be present in the.hdr file to that the header file is 348 bytes long, always. 6 of 24

7 There are 6 allowed values for the ORIENT field: 0 transverse (default) 1 coronal 2 sagittal 3 transverse, flipped 4 coronal, flipped 5 sagittal, flipped the flipped orientations flip one of the axes directions and are used by the Analyze software movie application. Their appearance should be rare and while supported, they should probably not be used for new data. The only reason to use anything other than the default ordering would be to create data files compatible with some pre-existing software. It is important to recall that the ORIENT field specifies how to properly read the.img file, once read by IDLffAnalyze it will be converted to use the ordering in the previous section. Therefore, taking the same data set and writing it out to separate files in differing orientation will still result in the same data set being read back in through IDLffAnalyze. 6 The HEADER structure The HEADER structure holds all the information found in a.hdr file. It's IDL definition is: ; ; Analyze 7.5 header structure - incorporates the ; header_key, image_dimension, and data_history structures. ; void = {header, $ ; struct header_key { sizeof_hdr : 348, $ ; int sizeof_hdr; data_type : bytarr(10), $ ; char data_type[10]; db_name : bytarr(18), $ ; char db_name[18]; extents : 16384, $ ; int extents; session_error : 0s, $ ; short int session_error; regular : byte('r'), $ ; char regular; hkey_un0 : 0b, $ ; char hkey_un0; } $ ; $ ; Analyze 7.5 image_dimension structure: $ ; ; struct image_dimension { dim : fix(intarr(8),type=2), $ ; short int dim[8]; vox_units : bytarr(4), $ ; char vox_units[4]; cal_units : bytarr(8), $ ; char cal_units[4]; unused1 : 0s, $ ; short int unused1; datatype : 0s, $ ; short int datatype; bitpix : 0s, $ ; short int bitpix; dim_un0 : 0s, $ ; short int dim_un0; pixdim : fltarr(8), $ ; float pixdim[8]; vox_offset: FLOAT(0.0), $ ; float vox_offset; roi_scale : FLOAT(0.0), $ ; float roi_scale; funused1 : FLOAT(0.0), $ ; float funused1; // scalefactor in SPM funused2 : FLOAT(0.0), $ ; float funused2; // dcoff in SPM2 cal_max : FLOAT(0.0), $ ; float cal_max; cal_min : FLOAT(0.0), $ ; float cal_min; compressed: 0, $ ; int compressed; verified : 0, $ ; int verified; glmax : 0, $ ; int glmax; 7 of 24

8 glmin : 0, $ ; int glmin; } $ ; $ ; Analyze 7.5 data_history structure: $ ; ; struct data_history { descrip : bytarr(80), $ ; char descrip[80]; aux_file : bytarr(24), $ ; char aux_file[24]; orient : 0b, $ ; char orient; originator : bytarr(10), $ ; char originator[10]; // image_origin, SPM generated : bytarr(10), $ ; char generated[10]; scannum : bytarr(10), $ ; char scannum[10]; patient_id : bytarr(10), $ ; char patient_id[10]; exp_date : bytarr(10), $ ; char exp_date[10]; exp_time : bytarr(10), $ ; char exp_time[10]; hist_un0 : bytarr(3), $ ; char hist_un0[3]; views : 0, $ ; int views; vols_added : 0, $ ; int vols_added; start_field: 0, $ ; int start_field; field_skip : 0, $ ; int field_skip; omax : 0, $ ; int omax; omin : 0, $ ; int omin; smax : 0, $ ; int smax; smin : 0 $ ; int smin; } ; } This structure is stored in the IDLffAnalyze object and written to a.hdr file on output. It can be updated through various methods below. This single structure contains the three structures referred to in the ANALYZE 7.5 standard. The length is 348 bytes and no deviation in length from the standard is tolerated. 7 Method Reference A detailed description of each public method is given below along with valid syntax. For the syntax the following are true: Required values are in bold Optional values are in italics Keywords are in CAPS (bold if required) The method name is underlined Each method is described along with all appropriate syntax. 7.1 Class Initialization Syntax obj = obj_new('idlffanalyze' [, f][, DATA=d, ORIENTATION=orient]) Parameters: 8 of 24

9 f A string giving the name of the existing header file (.hdr extension requried) to load into the new object. DATA ORIENTATION An array of data used to fill in the new object. Must be of an IDL type that has an ANALYZE analogue. Two, three, or four dimensions. An integer, 0..5, or a string, 'TRS', 'COR', 'SAG' or with a '-' in front for flipped. Specifies an orientation to assume about the.img file regardless of what is in the header orient field. Return value: Returns a new IDLffAnalyze object Description This is the IDLffAnalyze class constructor. It builds a new IDLffAnalyze object and optionally reads an existing data file from disk (.hdr/.img pair in same directory) or fills in the new object with data from an IDL array. If DATA is specified any argument is ignored. DATA sets the pixel data and a minimum set of header fields to their proper values for the type of data given. Allowed IDL types are 2, 3, and 4 dimensional arrays of byte, integer, longs, floats, doubles, and single-precision complex. If set, the ORIENTATION keyword specifies an orientation to use regardless of any given in the header file. 7.2 GetProperty Syntax obj->getproperty,[all=all, DIM=dim, GLMIN=glmin, GLMAX=glmax, PIXDIM=pixdim, VOX_UNITS=vox_units, CAL_UNITS=cal_units, DATATYPE=datatype, BITPIX=bitpix, VOX_OFFSET=vox_offset, CAL_MIN=cal_min, CAL_MAX=cal_max, ORIENT=orient, SCALEFACTOR=scalefactor, IMAGE_ORIGIN=image_origin, ENDIAN=endian, DCOFF=dcoff] Parameters: None. 9 of 24

10 ALL The header structure containing all fields. DIM Dimension array (8 elements), dim[1:4] are pertinent, dim[0] = 4. GLMIN The global minimum for the entire file (all volumes). GLMAX The global maximum for the entire file. PIXDIM Pixel dimension array (physical dims). Mirrors dim above. VOX_UNITS A string giving the voxel units, if any. CAL_UNITS A string giving the calibration units, if any. DATATYPE ANALYZE datatype (not IDL). BITPIX Number of bits per pixel. VOX_OFFSET Byte offset into.img file for start of image data. Usually 0. CAL_MIN CAL_MAX ORIENT SCALEFACTOR IMAGE_ORIGIN ENDIAN DCOFF Minimum calibration level. Maximum calibration level. Integer, 0..5, describing the orientation of the data in the.img file. SPM99 and SPM2 scale factor. NOT AUTOMATICALLY APPLIED. SPM99 and SPM2 image origin, 3-element vector of short ints. Overwrites the ORIGINATOR field (10 element vector of bytes). 1 if data is big-endian, 0 if data is little-endian. SPM2 DC offset. Return value: None Description Use GetProperty to return the current value of IDLffAnalyze properties. The current value of the given properties is assigned to the input variable. 10 of 24

11 7.3 SetProperty Syntax obj->setproperty, [ALL=all, DIM=dim, GLMIN=glmin, GLMAX=glmax, PIXDIM=pixdim, VOX_UNITS=vox_units, CAL_UNITS=cal_units, DATATYPE=datatype, BITPIX=bitpix, VOX_OFFSET=vox_offset, CAL_MIN=cal_min, CAL_MAX=cal_max, ORIENT=orient, SCALEFACTOR=scalefactor, IMAGE_ORIGIN=image_origin, ENDIAN=endian, DCOFF=dcoff] Parameters: None. ALL The header structure containing all fields. DIM Dimension array (8 elements), dim[1:4] are pertinent, dim[0] = 4. GLMIN The global minimum for the entire file (all volumes). GLMAX The global maximum for the entire file. PIXDIM Pixel dimension array (physical dims). Mirrors dim above. VOX_UNITS A string giving the voxel units, if any. CAL_UNITS A string giving the calibration units, if any. DATATYPE ANALYZE datatype (not IDL). BITPIX Number of bits per pixel. VOX_OFFSET Byte offset into.img file for start of image data. Usually 0. CAL_MIN CAL_MAX ORIENT SCALEFACTOR IMAGE_ORIGIN ENDIAN DCOFF Minimum calibration level. Maximum calibration level. Integer, 0..5, describing the orientation of the data in the.img file. SPM99 and SPM2 scale factor. NOT AUTOMATICALLY APPLIED. SPM99 and SPM2 image origin, 3-element vector of short ints. Overwrites the ORIGINATOR field (10 element vector of bytes). 1 if data is big-endian, 0 if data is little-endian. SPM2 DC offset. Return value: None. 11 of 24

12 7.3.2 Description Use SetProperty to set the new value of IDLffAnalyze properties. 7.4 GetNCols Syntax ans = obj->getncols() Parameters: None. None. Return value: The number of columns in a row of data (value of dim[1] field) Description Use GetNCols to get the number of columns in a row of pixel data (dim[1] value). 7.5 GetNRows Syntax ans = obj->getnrows() Parameters: None. None. Return value: The number of rows in a slice of data (value of dim[2] field) Description Use GetNRows to get the number of rows in a slice of pixel data (dim[2] value). 12 of 24

13 7.6 GetNSlices Syntax ans = obj->getnslices() Parameters: None. None. Return value: The number of slices in a volume of data (value of dim[3] field) Description Use GetNSlices to get the number of slices in a volume of pixel data (dim[3] value). 7.7 GetNVolumes Syntax ans = obj->getnvolumes() Parameters: None. None. Return value: The number of volumes in the data set (value of dim[4] field) Description Use GetNVolumes to get the number of volumes in the data set (dim[4] value). 13 of 24

14 7.8 GetOrientation Syntax ans = obj->getorientation([/text]) Parameters: None. TEXT Return the orientation as a text string. A leading '-' implies flipped (3..5) Return value: The orientation as an integer or a string Description Use GetOrientation to see the orientation that will be used when the data is written to disk. The possible values are: Value String Meaning 0 TRS Transverse, default 1 COR Coronal 2 SAG Sagittal 3 -TRS Transverse, flipped 4 -COR Coronal, flipped 5 -SAG Sagittal, flipped 14 of 24

15 7.9 GetVoxelDims Syntax obj->getvoxeldims, [VOXEL_WIDTH=w, VOXEL_HEIGHT=h, SLICE_THICKNESS=s, TIME_POINTS=t] Parameters: None. VOXEL_WIDTH The voxel width from the header (pixdim[1] value) VOXEL_HEIGHT The voxel height from the header (pixdim[2] value) SLICE_THICKNESS The slice thickness from the header (pixdim[3] value) TIME_POINTS The interval or time of the volume (pixdim[4] value) Return value: None Description Use GetVoxelDims to retrieve the physical voxel dimensions. By convention, VOXEL_WIDTH, VOXEL_HEIGHT, and SLICE_THICKNESS are in mm and TIME_POINTS is in msec. These values are not required and some applications will not make use of them nor given them meaningful values SetVoxelDims Syntax obj->setvoxeldims, [VOXEL_WIDTH=w, VOXEL_HEIGHT=h, SLICE_THICKNESS=s, TIME_POINTS=t] Parameters: None. VOXEL_WIDTH The voxel width from the header (pixdim[1] value) 15 of 24

16 VOXEL_HEIGHT The voxel height from the header (pixdim[2] value) SLICE_THICKNESS The slice thickness from the header (pixdim[3] value) TIME_POINTS The interval or time of the volume (pixdim[4] value) Return value: None Description Use SetVoxelDims to assign the physical voxel dimensions. By convention, VOXEL_WIDTH, VOXEL_HEIGHT, and SLICE_THICKNESS are in mm and TIME_POINTS is in msec. These values are not required and some applications will not make use of them nor given them meaningful values SetBitPix Syntax obj->setbitpix, bitpix Parameters: bitpix The number of bits per pixel in the data (1,8,16,32, or 64). None. Return value: None Description SetBitPix sets the number of bits per pixel field in the header. This must be one of the values listed above or an error will occur. 16 of 24

17 7.12 SetOrientation Syntax obj->setorientation, orient Parameters: orient An integer, 0..5, or 'TRS', 'COR', or 'SAG' with optional '-' to indicate flipped version. None. Return value: None Description SetOrientation sets orientation that will be used when writing the data to disk. It may be an integer, 0..5, or a string with a leading '-' to indicate the flipped version QueryPixelData Syntax ans = obj->querypixeldata() Parameters: None. None. Return value: True (1) if there is pixel data, false (0) otherwise Description Use QueryPixelData to check if there is assigned pixel data. An IDLffAnalyze object created without data or a file name will return a 0 (false). 17 of 24

18 7.14 GetPixelData Syntax ans = obj->getpixeldata([pointer=p]) Parameters: None. POINTER If set, the returned value is a pointer to the pixel data, not a copy of it. This has its associated hazzards but is useful when the data set is large. Return value: A copy of the image data or a pointer to it Description Use GetPixelData to access all the image pixel data. If POINTER is not set, return a copy of the image data in its entirety. If POINTER is set, return a pointer to the image data in memory GetVolume Syntax ans = obj->getvolume(v) Parameters: v The volume number to return, indexed from zero. None. Return value: A copy of the image data for a specific volume Description GetVolume to return a copy of the image data for a specific volume. 18 of 24

19 7.16 GetImage Syntax ans = obj->getimage(i [,v] [,AXIAL=axial, TRANSVERSE=transverse, TRS=trs, CORONAL=cor, SAGITTAL=sag]) Parameters: i v The image number, indexed from zero. The volume number, indexed from zero. Defaults to zero if not given. AXIAL TRANSVERSE TRS CORONAL SAGITTAL Return an axial image, the default. Synonym for AXIAL Synonym for AXIAL Return a coronal image Return a sagittal image Return value: A copy of the pixel data for the specified image Description GetImage allows access to the pixel data of a specific image from a specific volume. The keywords allow a desired orientation to be selected, the default is axial SetPixelData Syntax obj->setpixeldata, d [, NO_COPY=no_copy] Parameters: 19 of 24

20 d The image data to assign to the IDLffAnalyze object. NO_COPY If set pass /NO_COPY when allocating new memory for the input data. Useful to prevent copying of large arrays. Return value: None Description SetPixelData assigns new image data to the IDLffAnalyze object. Any existing data and associated header information is destroyed. A new minimal header is defined based on the dimensions and data type of the input array. The input array must be of 2, 3, or 4 dimensions SetVolume Syntax obj->setpixeldata, v, vol Parameters: v vol The volume number to update, indexed from zero. The new volume data. None. Return value: None Description SetVolume assigns new volume to the IDLffAnalyze object. The new volume replaces the data for an existing volume (ie, cannot extend the dataset) and must be of the same dimensions and data type. 20 of 24

21 7.19 SetImage Syntax obj->setimage, i, v, img, [,AXIAL=axial, TRANSVERSE=transverse, TRS=trs, CORONAL=cor, SAGITTAL=sag]) Parameters: i v img The image number, indexed from zero. The volume number, indexed from zero. The new image data. AXIAL TRANSVERSE TRS CORONAL SAGITTAL Return an axial image, the default. Synonym for AXIAL Synonym for AXIAL Return a coronal image Return a sagittal image Return value: None Description SetImage updates an existing image in a particular volume. If not given, the image is assumed to be axial, otherwise it is coronal or sagittal according to the keywords given. The input image, img, must match the data type and dimensions of the image that it is replacing. 21 of 24

22 7.20 ReadHeaderFile Syntax ans = obj->readheaderfile(f [,ENDIAN=endian]) Parameters: f Pathname to the.hdr file to read. ENDIAN If set to a named variable the byte order of the header file will be returned, 1 for big-endian, 0 for little-endian Return value: A HEADER structure containing the file's information Description ReadHeaderFile returns a new HEADER structure containing the information read from a given header file. This does not affect any existing information in the IDLffAnalyze object. The returned header is swapped to the byte order of the system if necessary. ENDIAN will return the byte order used by the file itself (and, consequently, the associated.img file) ReadFile Syntax obj->readfile, [f] [,ORIENTATION=orient, _EXTRA=extra]) Parameters: f Pathname to the.hdr file to read. If not given an open file dialog is used. ORIENTATION If set to a named variable the byte order of the header file will be returned, 1 for big-endian, 0 for little-endian 22 of 24

23 _EXTRA Extra keywords passed to dialog_pickfile if no filename given. Eg, DIALOG_PARENT for an application. Return value: None Description ReadFile reads the data stored in a.hdr/.img pair into the IDLffAnalyze object. Any existing data is destroyed. If given, f, is a pathname to a.hdr file, if not given an open file dialog is issued. No error is given if the user cancels the dialog box, and existing data is not removed. The ORIENTATION keyword can be set to read the data in a given ANALYZE orientation overriding the orientation given in the.hdr file. The value assigned may be an integer, 0..5, or a string, 'TRS', 'COR', 'SAG' with a leading '-' if necessary to indicated flipped axes (ANALYZE orient types 3..5) WriteFile Syntax obj->writefile, [f] [,MULTIPLE_FILES=mult, _EXTRA=extra]) Parameters: f Base name for the output file, no extension. Ie, 'data' will generate 'data.hdr' and 'data.img'. If not given a save file dialog is used. MULTIPLE_FILES _EXTRA If set the data is output as a series of axial images regardless of any setting in the header. Extra keywords passed to dialog_pickfile if no filename given. Eg, DIALOG_PARENT for an application. Return value: None. 23 of 24

24 Description WriteFile writes the image data to disk. If no filename is given a save file dialog is used. If given, f, must be a base name, ie, without extension. The data is then written to disk, the header in the.hdr file, and the image data in the.img file according to the orientation in the header file. If MULTIPLE_FILES is set the data is output as a series of axial images regardless of any orientation setting in the header. The files follow this naming convention: if the base name is 'img' and there is one volume only the files are named 'img000n.hdr/img000n.img' where n counts the image number. If there is more than one volume the files are named 'img0v_000n.hdr' where n is the image number of volume v. 24 of 24

Appendix B ANALYZE Coordinate System

Appendix B ANALYZE Coordinate System Appendix B ANALYZE Coordinate System The coordinate system employed by the ANALYZE programs is left-handed, with the coordinate origin in the lower left corner. Thus, with the subject lying supine, the

More information

Table of Contents ANALYZE 7.5 FILE FORMAT. 1. Introduction page 2. I. Image File page 2. II. Header File page 2. 2.

Table of Contents ANALYZE 7.5 FILE FORMAT. 1. Introduction page 2. I. Image File page 2. II. Header File page 2. 2. 1 Table of Contents 1. Introduction page 2 I. Image File page 2 II. Header File page 2 2. Comments page 8 3. Sample Program page 10 2 Introduction The image database is the system of files that the Analyze

More information

Package AnalyzeFMRI. February 19, 2015

Package AnalyzeFMRI. February 19, 2015 Version 1.1-16 Date 2013-03-19 Package AnalyzeFMRI February 19, 2015 Title Functions for analysis of fmri datasets stored in the ANALYZE or NIFTI format. Author P Lafaye de Micheaux ,

More information

Table of Contents THE ANALYZEAVW IMAGE FILE FORMAT. 1. Organizing a List of DICOM Files page 2

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

Package oro.nifti. March 3, 2013

Package oro.nifti. March 3, 2013 Package oro.nifti March 3, 2013 Version 0.3.9 Date 2013-02-22 Title Rigorous - NIfTI+ANALYZE+AFNI Input / Output Author Brandon Whitcher, Volker Schmid and Andrew Thornton, with contributions by Karsten

More information

Tools for NIfTI and ANALYZE image (Click LINK HERE for the latest update)

Tools for NIfTI and ANALYZE image (Click LINK HERE for the latest update) Tools for NIfTI and ANALYZE image (Click LINK HERE for the latest update) Description: If you are confused by identifying which one is the Left-hand-side / Right-hand-side of an ANALYZE image, the UseANALYZE.pdf

More information

Manual of IMD. By Zhaohui Wang

Manual of IMD. By Zhaohui Wang Manual of IMD By Zhaohui Wang August 2005 i Table of Contents Table of Contents... i Image Display (IMD) Program... 1 1. Improvement of Windows version... 1 2. New Image Structure... 2 3. Techniques to

More information

Package oro.nifti. December 21, 2010

Package oro.nifti. December 21, 2010 Package oro.nifti December 21, 2010 Version 0.2.4 Date 2010-12-19 Title Rigorous - NIfTI+ANALYZE+AFNI Input / Output Author Brandon Whitcher, Volker Schmid and Andrew Thornton, with contributions by Karsten

More information

dicom2nifti Documentation icometrix

dicom2nifti Documentation icometrix icometrix Jun 06, 2018 Contents 1 dicom2nifti 3 2 Using dicom2nifti 5 2.1 Installation................................................ 5 2.2 Updating................................................. 5

More information

JIV : A 3D Image Data Visualization and Comparison Tool. Chris Cocosco

JIV : A 3D Image Data Visualization and Comparison Tool. Chris Cocosco JIV : A 3D Image Data Visualization and Comparison Tool Chris Cocosco 1 1 Inputs 1.1 Environment JIV can be run either as a Java applet, either as a (standalone) Java application.

More information

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19

Data Storage. August 9, Indiana University. Geoffrey Brown, Bryce Himebaugh 2015 August 9, / 19 Data Storage Geoffrey Brown Bryce Himebaugh Indiana University August 9, 2016 Geoffrey Brown, Bryce Himebaugh 2015 August 9, 2016 1 / 19 Outline Bits, Bytes, Words Word Size Byte Addressable Memory Byte

More information

BLM2031 Structured Programming. Zeyneb KURT

BLM2031 Structured Programming. Zeyneb KURT BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help

More information

CS201- Introduction to Programming Current Quizzes

CS201- Introduction to Programming Current Quizzes CS201- Introduction to Programming Current Quizzes Q.1 char name [] = Hello World ; In the above statement, a memory of characters will be allocated 13 11 12 (Ans) Q.2 A function is a block of statements

More information

DICOM Correction Item

DICOM Correction Item DICOM Correction Item Correction Number CP-668 Log Summary: Type of Modification Addition Name of Standard PS 3.3, 3.17 2006 Rationale for Correction The term axial is common in practice, but is incorrectly

More information

SPM Introduction. SPM : Overview. SPM: Preprocessing SPM! SPM: Preprocessing. Scott Peltier. FMRI Laboratory University of Michigan

SPM Introduction. SPM : Overview. SPM: Preprocessing SPM! SPM: Preprocessing. Scott Peltier. FMRI Laboratory University of Michigan SPM Introduction Scott Peltier FMRI Laboratory University of Michigan! Slides adapted from T. Nichols SPM! SPM : Overview Library of MATLAB and C functions Graphical user interface Four main components:

More information

A Fast Review of C Essentials Part I

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

SPM Introduction SPM! Scott Peltier. FMRI Laboratory University of Michigan. Software to perform computation, manipulation and display of imaging data

SPM Introduction SPM! Scott Peltier. FMRI Laboratory University of Michigan. Software to perform computation, manipulation and display of imaging data SPM Introduction Scott Peltier FMRI Laboratory University of Michigan Slides adapted from T. Nichols SPM! Software to perform computation, manipulation and display of imaging data 1 1 SPM : Overview Library

More information

EL6483: Brief Overview of C Programming Language

EL6483: Brief Overview of C Programming Language EL6483: Brief Overview of C Programming Language EL6483 Spring 2016 EL6483 EL6483: Brief Overview of C Programming Language Spring 2016 1 / 30 Preprocessor macros, Syntax for comments Macro definitions

More information

Visualizing and Analyzing Medical Images from Multiple Modalities Using IDL

Visualizing and Analyzing Medical Images from Multiple Modalities Using IDL Visualizing and Analyzing Medical Images from Multiple Modalities Using IDL Ron Kneusel, MS ITT Visual Information Systems 4990 Pearl East Circle Boulder, CO 80301 P: 303.786.9900 F: 303.786.9909 Table

More information

Transform Introduction page 96 Spatial Transforms page 97

Transform Introduction page 96 Spatial Transforms page 97 Transform Introduction page 96 Spatial Transforms page 97 Pad page 97 Subregion page 101 Resize page 104 Shift page 109 1. Correcting Wraparound Using the Shift Tool page 109 Flip page 116 2. Flipping

More information

HST.583 Functional Magnetic Resonance Imaging: Data Acquisition and Analysis

HST.583 Functional Magnetic Resonance Imaging: Data Acquisition and Analysis MIT OpenCourseWare http://ocw.mit.edu Functional Magnetic Resonance Imaging: Data Acquisition and Analysis Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Programming computer vision in C / C++

Programming computer vision in C / C++ Appendix E Programming computer vision in C / C++ In this appendix we will describe one way of implementing two-dimensional (2D) images in the C and C++ languages. These languages are chosen because they

More information

ASPRS LiDAR SPRS Data Exchan LiDAR Data Exchange Format Standard LAS ge Format Standard LAS IIT Kanp IIT Kan ur

ASPRS LiDAR SPRS Data Exchan LiDAR Data Exchange Format Standard LAS ge Format Standard LAS IIT Kanp IIT Kan ur ASPRS LiDAR Data Exchange Format Standard LAS IIT Kanpur 1 Definition: Files conforming to the ASPRS LIDAR data exchange format standard are named with a LAS extension. The LAS file is intended to contain

More information

Quiz Start Time: 09:34 PM Time Left 82 sec(s)

Quiz Start Time: 09:34 PM Time Left 82 sec(s) Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

CS201 Latest Solved MCQs

CS201 Latest Solved MCQs Quiz Start Time: 09:34 PM Time Left 82 sec(s) Question # 1 of 10 ( Start time: 09:34:54 PM ) Total Marks: 1 While developing a program; should we think about the user interface? //handouts main reusability

More information

Turtle Tango (TT) Language Reference Manual

Turtle Tango (TT) Language Reference Manual Turtle Tango (TT) Language Reference Manual Jeff Bender UNI: jrb2211 COMS W4115 6/29/2012 Contents 1. Introduction... 3 2. Lexical Conventions... 3 3. Scope... 3 4. Statements... 4 5. Expressions... 5

More information

Caching and Buffering in HDF5

Caching and Buffering in HDF5 Caching and Buffering in HDF5 September 9, 2008 SPEEDUP Workshop - HDF5 Tutorial 1 Software stack Life cycle: What happens to data when it is transferred from application buffer to HDF5 file and from HDF5

More information

Medical Image Analysis, Assignment 3

Medical Image Analysis, Assignment 3 Centre for Mathematical Sciences, Mathematics, LTH, December 2014 Medical Image Analysis, Assignment 3 1 Introduction The purpose of this assignment is to give hands-on experience with handling DICOM images

More information

CONTENTS: Array Usage Multi-Dimensional Arrays Reference Types. COMP-202 Unit 6: Arrays

CONTENTS: Array Usage Multi-Dimensional Arrays Reference Types. COMP-202 Unit 6: Arrays CONTENTS: Array Usage Multi-Dimensional Arrays Reference Types COMP-202 Unit 6: Arrays Introduction (1) Suppose you want to write a program that asks the user to enter the numeric final grades of 350 COMP-202

More information

Variables and Constants

Variables and Constants HOUR 3 Variables and Constants Programs need a way to store the data they use. Variables and constants offer various ways to work with numbers and other values. In this hour you learn: How to declare and

More information

Lucy Phantom MR Grid Evaluation

Lucy Phantom MR Grid Evaluation Lucy Phantom MR Grid Evaluation Anil Sethi, PhD Loyola University Medical Center, Maywood, IL 60153 November 2015 I. Introduction: The MR distortion grid, used as an insert with Lucy 3D QA phantom, is

More information

Spatial transformations in BrainVoyager

Spatial transformations in BrainVoyager Spatial transformations in BrainVoyager Rainer Goebel 2005 Introduction This technical document aims to provide detailed knowledge about spatial transformations in general and how they are implemented

More information

This exercise uses one anatomical data set (ANAT1) and two functional data sets (FUNC1 and FUNC2).

This exercise uses one anatomical data set (ANAT1) and two functional data sets (FUNC1 and FUNC2). Exploring Brain Anatomy This week s exercises will let you explore the anatomical organization of the brain to learn some of its basic properties, as well as the location of different structures. The human

More information

Centre for Mathematical Sciences, Mathematics, LTH, December 2015

Centre for Mathematical Sciences, Mathematics, LTH, December 2015 Centre for Mathematical Sciences, Mathematics, LTH, December 2015 FMNA30 - Medical Image Analysis, Assignment 4 1 Introduction The purpose of this assignment is to give hands-on experience with handling

More information

Transforming Datasets to Talairach-Tournoux Coordinates

Transforming Datasets to Talairach-Tournoux Coordinates -1- Transforming Datasets to Talairach-Tournoux Coordinates The original purpose of AFNI was to perform the transformation of datasets to Talairach-Tournoux (stereotaxic) coordinates The transformation

More information

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15

School of Computer Science CPS109 Course Notes 5 Alexander Ferworn Updated Fall 15 Table of Contents 1 INTRODUCTION... 1 2 IF... 1 2.1 BOOLEAN EXPRESSIONS... 3 2.2 BLOCKS... 3 2.3 IF-ELSE... 4 2.4 NESTING... 5 3 SWITCH (SOMETIMES KNOWN AS CASE )... 6 3.1 A BIT ABOUT BREAK... 7 4 CONDITIONAL

More information

CE221 Programming in C++ Part 1 Introduction

CE221 Programming in C++ Part 1 Introduction CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Education, Inc. All Rights Reserved. Each class you create becomes a new type that can be used to declare variables and create objects. You can declare new classes as needed;

More information

nifti converter plugin manual for brainvoyager qx Hester Breman and Rainer Goebel

nifti converter plugin manual for brainvoyager qx Hester Breman and Rainer Goebel nifti converter plugin manual for brainvoyager qx Hester Breman and Rainer Goebel Maastricht, June 2010 Contents 1 Introduction 4 1.1 General information on using the converter............... 4 1.1.1 General

More information

Motivation was to facilitate development of systems software, especially OS development.

Motivation was to facilitate development of systems software, especially OS development. A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.

More information

FOR Loop. FOR Loop has three parts:initialization,condition,increment. Syntax. for(initialization;condition;increment){ body;

FOR Loop. FOR Loop has three parts:initialization,condition,increment. Syntax. for(initialization;condition;increment){ body; CLASSROOM SESSION Loops in C Loops are used to repeat the execution of statement or blocks There are two types of loops 1.Entry Controlled For and While 2. Exit Controlled Do while FOR Loop FOR Loop has

More information

C Review. MaxMSP Developers Workshop Summer 2009 CNMAT

C Review. MaxMSP Developers Workshop Summer 2009 CNMAT C Review MaxMSP Developers Workshop Summer 2009 CNMAT C Syntax Program control (loops, branches): Function calls Math: +, -, *, /, ++, -- Variables, types, structures, assignment Pointers and memory (***

More information

HST.583 Functional Magnetic Resonance Imaging: Data Acquisition and Analysis Fall 2008

HST.583 Functional Magnetic Resonance Imaging: Data Acquisition and Analysis Fall 2008 MIT OpenCourseWare http://ocw.mit.edu HST.583 Functional Magnetic Resonance Imaging: Data Acquisition and Analysis Fall 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Creating a C++ Program

Creating a C++ Program Program A computer program (also software, or just a program) is a sequence of instructions written in a sequence to perform a specified task with a computer. 1 Creating a C++ Program created using an

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

addendum for nifti converter plugins Hester Breman and Rainer Goebel

addendum for nifti converter plugins Hester Breman and Rainer Goebel addendum for nifti converter plugins Hester Breman and Rainer Goebel Maastricht, 2013 1 Spatial transformations in BrainVoyager 1.1 Introduction Rainer Goebel This technical document aims to provide detailed

More information

Working with Charts Stratum.Viewer 6

Working with Charts Stratum.Viewer 6 Working with Charts Stratum.Viewer 6 Getting Started Tasks Additional Information Access to Charts Introduction to Charts Overview of Chart Types Quick Start - Adding a Chart to a View Create a Chart with

More information

OptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from

OptimiData. 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 information

Section 2.2 Your First Program in Java: Printing a Line of Text

Section 2.2 Your First Program in Java: Printing a Line of Text Chapter 2 Introduction to Java Applications Section 2.2 Your First Program in Java: Printing a Line of Text 2.2 Q1: End-of-line comments that should be ignored by the compiler are denoted using a. Two

More information

Reminder: compiling & linking

Reminder: compiling & linking Reminder: compiling & linking source file 1 object file 1 source file 2 compilation object file 2 library object file 1 linking (relocation + linking) load file source file N object file N library object

More information

Introduction to volume rendering. Paul Bourke

Introduction to volume rendering. Paul Bourke Introduction to volume rendering Paul Bourke 2D drafting/drawing Points + lines + curves + primitives (circle, rectangle ) Describes boundaries 2D image Pixels Describes the interior of a rectangle, a

More information

Table of Contents. IntroLab < SPMLabs < Dynevor TWiki

Table of Contents. IntroLab < SPMLabs < Dynevor TWiki Table of Contents Lab 1: Introduction to SPM and data checking...1 Goals of this Lab...1 Prerequisites...1 An SPM Installation...1 SPM Defaults...2 L/R Brain Orientation...2 Memory Use for Data Processing...2

More information

Data Loading & 3D Visualization

Data Loading & 3D Visualization Neuroimage Analysis Center Data Loading & 3D Visualization Sonia Pujol, Ph.D. Surgical Planning Laboratory Harvard Medical School Leonardo da Vinci (1452-1519), Virgin and Child Alte Pinakothek, München

More information

ENVI Tutorial: Introduction to ENVI

ENVI Tutorial: Introduction to ENVI ENVI Tutorial: Introduction to ENVI Table of Contents OVERVIEW OF THIS TUTORIAL...1 GETTING STARTED WITH ENVI...1 Starting ENVI...1 Starting ENVI on Windows Machines...1 Starting ENVI in UNIX...1 Starting

More information

1. Describe History of C++? 2. What is Dev. C++? 3. Why Use Dev. C++ instead of C++ DOS IDE?

1. Describe History of C++? 2. What is Dev. C++? 3. Why Use Dev. C++ instead of C++ DOS IDE? 1. Describe History of C++? The C++ programming language has a history going back to 1979, when Bjarne Stroustrup was doing work for his Ph.D. thesis. One of the languages Stroustrup had the opportunity

More information

QUIZ. 1. Explain the meaning of the angle brackets in the declaration of v below:

QUIZ. 1. Explain the meaning of the angle brackets in the declaration of v below: QUIZ 1. Explain the meaning of the angle brackets in the declaration of v below: This is a template, used for generic programming! QUIZ 2. Why is the vector class called a container? 3. Explain how the

More information

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program Objectives Chapter 2: Basic Elements of C++ In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates

More information

BMP file format. Contents. Pixel storage. The BMP file format, sometimes called bitmap. or DIB file format (for device-independent

BMP file format. Contents. Pixel storage. The BMP file format, sometimes called bitmap. or DIB file format (for device-independent 1 of 7 BMP file format From Wikipedia, the free encyclopedia Windows Bitmap The BMP file format, sometimes called bitmap File extension:.bmp or.dib or DIB file format (for device-independent MIME type:

More information

ECE1778 Final Report MRI Visualizer

ECE1778 Final Report MRI Visualizer ECE1778 Final Report MRI Visualizer David Qixiang Chen Alex Rodionov Word Count: 2408 Introduction We aim to develop a mobile phone/tablet based neurosurgical MRI visualization application with the goal

More information

CSCI S-Q Lecture #12 7/29/98 Data Structures and I/O

CSCI S-Q Lecture #12 7/29/98 Data Structures and I/O CSCI S-Q Lecture #12 7/29/98 Data Structures and I/O Introduction The WRITE and READ ADT Operations Case Studies: Arrays Strings Binary Trees Binary Search Trees Unordered Search Trees Page 1 Introduction

More information

Chapter 2: Basic Elements of C++

Chapter 2: Basic Elements of C++ Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates

More information

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction Chapter 2: Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 1 Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers

More information

Objectives. In this chapter, you will:

Objectives. In this chapter, you will: Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates arithmetic expressions Learn about

More information

Parallel Image Processing

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

UGviewer: a medical image viewer

UGviewer: a medical image viewer Appendix A UGviewer: a medical image viewer As a complement to this master s thesis, an own medical image viewer was programmed. This piece of software lets the user visualize and compare images. Designing

More information

Technical Publications

Technical Publications GE Medical Systems Technical Publications Direction 2188003-100 Revision 0 Tissue Volume Analysis DICOM for DICOM V3.0 Copyright 1997 By General Electric Co. Do not duplicate REVISION HISTORY REV DATE

More information

Lecture 4: Outline. Arrays. I. Pointers II. III. Pointer arithmetic IV. Strings

Lecture 4: Outline. Arrays. I. Pointers II. III. Pointer arithmetic IV. Strings Lecture 4: Outline I. Pointers A. Accessing data objects using pointers B. Type casting with pointers C. Difference with Java references D. Pointer pitfalls E. Use case II. Arrays A. Representation in

More information

Basic memory model Using functions Writing functions. Basics Prototypes Parameters Return types Functions and memory Names and namespaces

Basic memory model Using functions Writing functions. Basics Prototypes Parameters Return types Functions and memory Names and namespaces Basic memory model Using functions Writing functions Basics Prototypes Parameters Return types Functions and memory Names and namespaces When a program runs it requires main memory (RAM) space for Program

More information

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides

Contents. Slide Set 1. About these slides. Outline of Slide Set 1. Typographical conventions: Italics. Typographical conventions. About these slides Slide Set 1 for ENCM 369 Winter 2014 Lecture Section 01 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Winter Term, 2014 ENCM 369 W14 Section

More information

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor. 3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.

More information

An Informal Introduction to MemCom

An Informal Introduction to MemCom An Informal Introduction to MemCom Table of Contents 1 The MemCom Database...2 1.1 Physical Layout...2 1.2 Database Exchange...2 1.3 Adding More Data...2 1.4 The Logical Layout...2 1.5 Inspecting Databases

More information

5 Control Reference! "! # $ # % " &

5 Control Reference! ! # $ # %  & 5 2 Control Definition Parts Reference Controls are the functional components of the parts which contain them. A control is called by either the Operation Parameter (must be enabled) or by a program. If

More information

C++ Programming: From Problem Analysis to Program Design, Third Edition

C++ Programming: From Problem Analysis to Program Design, Third Edition C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 2: Basic Elements of C++ Objectives (continued) Become familiar with the use of increment and decrement operators Examine

More information

This document contains confidential information that is proprietary to SonoSite. Neither the document nor the information contained therein should be

This document contains confidential information that is proprietary to SonoSite. Neither the document nor the information contained therein should be This document contains confidential information that is proprietary to SonoSite. Neither the document nor the information contained therein should be disclosed or reproduced in whole or in part, without

More information

V850 Calling Convention

V850 Calling Convention IAR Application Note V850 Calling Convention SUMMARY This application note describes the calling convention used by IAR Systems V850 compiler for C and Embedded C++. The intended audience is developers

More information

CP SC 4040/6040 Computer Graphics Images. Joshua Levine

CP SC 4040/6040 Computer Graphics Images. Joshua Levine CP SC 4040/6040 Computer Graphics Images Joshua Levine levinej@clemson.edu Lecture 03 File Formats Aug. 27, 2015 Agenda pa01 - Due Tues. 9/8 at 11:59pm More info: http://people.cs.clemson.edu/ ~levinej/courses/6040

More information

The Typed Racket Guide

The Typed Racket Guide The Typed Racket Guide Version 5.3.6 Sam Tobin-Hochstadt and Vincent St-Amour August 9, 2013 Typed Racket is a family of languages, each of which enforce

More information

2. Creating Field Maps Using the Field Map GUI (Version 2.0) in SPM5

2. Creating Field Maps Using the Field Map GUI (Version 2.0) in SPM5 1. Introduction This manual describes how to use the Field Map Toolbox Version 2.0 for creating unwrapped field maps that can be used to do geometric distortion correction of EPI images in SPM5. 1. 1.

More information

XDS An Extensible Structure for Trustworthy Document Content Verification Simon Wiseman CTO Deep- Secure 3 rd June 2013

XDS An Extensible Structure for Trustworthy Document Content Verification Simon Wiseman CTO Deep- Secure 3 rd June 2013 Assured and security Deep-Secure XDS An Extensible Structure for Trustworthy Document Content Verification Simon Wiseman CTO Deep- Secure 3 rd June 2013 This technical note describes the extensible Data

More information

C++ Basic Elements of COMPUTER PROGRAMMING. Special symbols include: Word symbols. Objectives. Programming. Symbols. Symbols.

C++ Basic Elements of COMPUTER PROGRAMMING. Special symbols include: Word symbols. Objectives. Programming. Symbols. Symbols. EEE-117 COMPUTER PROGRAMMING Basic Elements of C++ Objectives General Questions Become familiar with the basic components of a C++ program functions, special symbols, and identifiers Data types Arithmetic

More information

Fall 2016 Exam Review 3 Module Test

Fall 2016 Exam Review 3 Module Test 1. What is the block of text at the bottom of the page called? Header Footer Document Area Ribbon 2. Which word processing tool can help you find synonyms to improve your word choice? Spelling and Grammar

More information

Slicer3 Tutorial: Registration Library Case 14. Intra-subject Brain PET-MRI fusion

Slicer3 Tutorial: Registration Library Case 14. Intra-subject Brain PET-MRI fusion NA-MIC Slicer3 Tutorial: Registration Library Case 14 Intra-subject Brain PET-MRI fusion Dominik Meier, Ron Kikinis March 2010 Overview 1. Introduction 2. Prerequisites 3. Modules Used takes how long to

More information

Makefiles Makefiles should begin with a comment section of the following form and with the following information filled in:

Makefiles Makefiles should begin with a comment section of the following form and with the following information filled in: CS 215 Fundamentals of Programming II C++ Programming Style Guideline Most of a programmer's efforts are aimed at the development of correct and efficient programs. But the readability of programs is also

More information

C# and Java. C# and Java are both modern object-oriented languages

C# and Java. C# and Java are both modern object-oriented languages C# and Java C# and Java are both modern object-oriented languages C# came after Java and so it is more advanced in some ways C# has more functional characteristics (e.g., anonymous functions, closure,

More information

DICOM Conformance Statement for Scanner Interface. Release 4.7.1

DICOM Conformance Statement for Scanner Interface. Release 4.7.1 DICOM Conformance Statement for Scanner Interface Release 4.7.1 Document: Pd088CONFSTAT edition 3 11 August 2003 2003 Elekta. All rights reserved. Issued by: P. O. BOX 7593 SE-103 93 STOCKHOLM SWEDEN Tel:

More information

12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension.

12/22/11. Java How to Program, 9/e. public must be stored in a file that has the same name as the class and ends with the.java file-name extension. Java How to Program, 9/e Education, Inc. All Rights Reserved. } Covered in this chapter Classes Objects Methods Parameters double primitive type } Create a new class (GradeBook) } Use it to create an object.

More information

Motivation was to facilitate development of systems software, especially OS development.

Motivation was to facilitate development of systems software, especially OS development. A History Lesson C Basics 1 Development of language by Dennis Ritchie at Bell Labs culminated in the C language in 1972. Motivation was to facilitate development of systems software, especially OS development.

More information

McGill University School of Computer Science COMP-202A Introduction to Computing 1

McGill University School of Computer Science COMP-202A Introduction to Computing 1 McGill University School of Computer Science COMP-202A Introduction to Computing 1 Midterm Exam Thursday, October 26, 2006, 18:00-20:00 (6:00 8:00 PM) Instructors: Mathieu Petitpas, Shah Asaduzzaman, Sherif

More information

Digital Imaging and Communications in Medicine (DICOM) Supplement 174: RESTful Rendering

Digital Imaging and Communications in Medicine (DICOM) Supplement 174: RESTful Rendering 18 June 2015 Supplement 174: Restful Rendering Page 1 5 10 Digital Imaging and Communications in Medicine (DICOM) Supplement 174: RESTful Rendering 15 20 DICOM Standards Committee, Working Group 27: Web

More information

ENVI Classic Tutorial: User Functions

ENVI Classic Tutorial: User Functions ENVI Classic Tutorial: User Functions Introduction to User Functions 2 Files Used in this Tutorial 2 Background 2 Band Math 3 Open TM Data 3 Explore a Band Math User Function 3 Compile the Band Math Function

More information

CS 1110 Final, December 17th, Question Points Score Total: 100

CS 1110 Final, December 17th, Question Points Score Total: 100 CS 1110 Final, December 17th, 2014 This 150-minute exam has 8 questions worth a total of 100 points. Scan the whole test before starting. Budget your time wisely. Use the back of the pages if you need

More information

DICOM 3.0 Conformance Statement

DICOM 3.0 Conformance Statement DICOM 3.0 Conformance Statement DICOMLink v1.2 for ICON Siemens Medical Systems, Inc. Nuclear Medicine Group DICOM Conformance Statement DICOM 3.0 Conformance Statement Siemens ICON DICOMlink v1.2 for

More information

MEG Laboratory Reference Manual for research use

MEG Laboratory Reference Manual for research use MEG Laboratory Reference Manual for research use for Ver. 1R007B Manual version 20040224 Index 1. File... 11 1.1 New... 11 1.2 Open... 11 1.3 Transfer...... 11 1.4 Suspended File List... 12 1.5 Save...

More information

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression Chapter 1 Summary Comments are indicated by a hash sign # (also known as the pound or number sign). Text to the right of the hash sign is ignored. (But, hash loses its special meaning if it is part of

More information

Typed Racket: Racket with Static Types

Typed Racket: Racket with Static Types Typed Racket: Racket with Static Types Version 5.0.2 Sam Tobin-Hochstadt November 6, 2010 Typed Racket is a family of languages, each of which enforce that programs written in the language obey a type

More information

calling a function - function-name(argument list); y = square ( z ); include parentheses even if parameter list is empty!

calling a function - function-name(argument list); y = square ( z ); include parentheses even if parameter list is empty! Chapter 6 - Functions return type void or a valid data type ( int, double, char, etc) name parameter list void or a list of parameters separated by commas body return keyword required if function returns

More information

Effective Programming in C and UNIX Lab 6 Image Manipulation with BMP Images Due Date: Sunday April 3rd, 2011 by 11:59pm

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

Issues Regarding fmri Imaging Workflow and DICOM

Issues Regarding fmri Imaging Workflow and DICOM Issues Regarding fmri Imaging Workflow and DICOM Lawrence Tarbox, Ph.D. Fred Prior, Ph.D Mallinckrodt Institute of Radiology Washington University in St. Louis What is fmri fmri is used to localize functions

More information

File Format Specification MMPLD Version: 1.2 Release Author: Sebastian Grottel Date:

File Format Specification MMPLD Version: 1.2 Release Author: Sebastian Grottel Date: File Format Specification MMPLD Version: 1.2 Release Author: Sebastian Grottel Date: 17.05.2016 Preface The file formats MMPLD and MMDPLD basically are binary memory dumps of MegaMol s internal data structures,

More information

APSC 160 Review. CPSC 259: Data Structures and Algorithms for Electrical Engineers. Hassan Khosravi Borrowing many questions from Ed Knorr

APSC 160 Review. CPSC 259: Data Structures and Algorithms for Electrical Engineers. Hassan Khosravi Borrowing many questions from Ed Knorr CPSC 259: Data Structures and Algorithms for Electrical Engineers APSC 160 Review Hassan Khosravi Borrowing many questions from Ed Knorr CPSC 259 Pointers Page 1 Learning Goal Briefly review some key programming

More information