An array based design for Real-Time Volume Rendering

Size: px
Start display at page:

Download "An array based design for Real-Time Volume Rendering"

Transcription

1 A array based desig for Real-Time Volume Rederig Michael Doggett* School of Computer Sciece ad Egieerig The Uiversity of New South Wales 11 Abstract This paper describes a ew algorithm ad hardware desig for the geeratio of two dimesioal images from volume data usig the ray castig techique. The algorithm is part of a image geeratio system that is broke dow ito three subsystems. The first subsystem stores the iput data i a buffered memory usig a rearragemet of the origial address value. The secod subsystem reads data poits from the buffered memory ad shifts the data to computatioal elemets i order to complete the viewig calculatios for the image sythesis process. The fial stage takes the results of the viewig calculatios combied with the origial iput data to complete the surface rederig ad pixel compositig to create the fial image. This paper focusses o the secod subsystem which cosists of two, two dimesioal arrays of processig elemets. The first array performs a limited agle, sigle dimesio rotatio by shiftig the data. The secod array performs a two dimesioal ray castig operatio viewig rays are assiged to each processig elemet. The first stage is outlied i this paper ad the fial rederig stages are the subject of previous work. The hardware desig associated with these algorithms is described ad tested. It is estimated that this architecture is capable of producig 384 x 384 pixel images at speeds of 15 frames per secod for data sets. Real time geeratio of images of volume data is importat i scietific applicatios of volume visualizatio ad computer graphics applicatios which use volume graphics. Additioal Key Words ad Phrases: volume visualizatio, graphics hardware, image geeratio, volume graphics 1 Itroductio New custom architectures for graphics systems are required to process the large amouts of data associated with volume data at video rates rio]. Custom hardware architectures have bee proposed that are capable of geeratig real-time images from volume data [8, 16, 5, 7, 11, 15]. Volume data is a large data space made up of discrete poits which typically lie o a three dimesioal grid each discrete poit " miked@vaslusw.edu.au tsydey AUSTRALIA twww: holds a data value commoly called a voxel. The sythesis of video rate images from large volume data is used i various applicatios of visualizatio such as medical imagig, ad video rate image geeratio is essetial i computer iterface techologies such as virtual reality. The geeratio of two dimesioal images from volume data usig trasparecy techiques, such as volume rederig, is essetial for Volume Visualizatio. Examples of volume data which are sampled iclude, magetic resoace imagig (MRJ) ad computed tomography (CT) data. Volume data ca also be sythesized from traditioal computer graphics primitives such as triagles. The geeratio of images from sythetic data is referred to as Volume Graphics. As hardware processig power icreases Volume Graphics has the potetial to replace polygo based graphics ad place real-time 3D computer graphics o every computer [9]. This ca be achieved by replacig two dimesioal frame buffers with three dimesioal frame buffers that ca work with voxelized polygos stored as volume data. 2 Previous Work Previous work o the system [2, 1] has cocetrated o shadig which occurs i the fial stages ofimage geeratio. This paper details the desig of part of the frot ed, beig two arrays that shift iput data to perform a partial rotatio ad processig elemets that calculate the path of viewig rays through the volume data. The memory subsystem that eters the data ito the first array is briefly outlied i this paper ad is the subject of cotiuig ivestigatio. The desig preseted i this paper aims to describe a scalable ad adaptable architecture for real-time volume visualizatio systems. To achieve this, a rotatio ad ray castig algorithm which uses arrays of processig elemets to create a parallel pipelied subsystem was desiged. The complete system uses a iitial subsystem for volume data storage ad a fial subsystem for rederig. The array based algorithm was implemeted ad tested i software. A hardware descriptio laguage was used to describe, simulate ad verify the hardware fuctioality ad calculate performace estimates for the array processig elemets. The hardware descriptio was the traslated ito the LSI gate array desig eviromet i order to estimate the characteristics of a gate array implemetatio. Usig the gate array results, the per 93

2 formace is estimated to achieve a video rate of 15 frames per secod (f/s) for images of volume data. 3 Related Work TheCube-3 architecture [15] is estimated to be capable of processig a data set at 30 f/s. The Cube architecture uses a bus betwee iput volume data ad a set of buffers data is stored before the image geeratio process begis. The trasfer of data usig this bus ivolves a template of values beig calculated which determie the correct storage addresses for the data held i the buffers. The buffers store the data for the ext stage of processig. The purpose of the bus trasfer operatio is to trasfer data represetig oe row of oe slice of a volume data cube i oe trasfer operatio. The bus trasfer operatio is the projectio calculatio for parallel or perspective viewig of the data set. The array based desig reported i this paper differs from the Cube-3 architecture by havig a simpler parallel trasfer method betwee memory ad the secod subsystem for processig. The simplified addressig the requires the itroductio of the two array desigs to calculate arbitrary scree projectios. The Kittel system [11] is able to reder images of data sets at 2.5 fls, ad uses a VLSI pipelie for the calculatio ofsurface ormals ad Phog shadig. The performace of this architecture is improved by usig a distributed volume data memory ad sedig packets betwee processig elemets to represet the traversal of rays through the data space. This parallel implemetatio is capable of 20 fls for data sets usig a 64 processig elemet array. The architecture preseted here elimiates the eed for a etwork of processig elemets ad packets cotaiig ray traversal iformatio. The ray castig operatio is performed withi oe array that aligs the volume data with the correct ray for image geeratio. Results from algorithms capable of speeds ofa few frames per secod for data sets of to usig supercomputers [17] ad stadard workstatios [12] have also bee reported. These real time results are depedet o either large supercomputer systems or sparse data sets. For higher frame rates ad larger data sets, icreased processig power is required. 4 Image Geeratio from Volume Data 4.1 Itroductio The sythesis of images from volume data is referred to as volume rederig [13, 3]. There are several approaches to this rederig process, oe beig ray castig [13], Ray castig is similar to ray tracig, except that i ray castig rays travel through the data set oce without creatig reflectio rays. The ray castig used i this system is based o discrete icremets alog each ray similar to discrete ray tracig [18]. As the rays travel through the data, sample poits are extracted ad used to calculate local gradiets surroudig the sample poit which is used i opacity calculatios to combie the sample poits to create the fial pixel value. The shadig of the surface is calculated usig either the diffuse shadig or Phog shadig equatios [4]. Ray castig ad ray tracig are examples ofimage sythesis that is based o a pixel by pixel calculatio. The stadard ray castig algorithm allows rays to travel from ay viewpoit through the data space. This requires that all data poits i the memory are available to each processor that calculates the traversal of a ray. This creates a bottleeck at the iput memory for a sigle processor calculatig all ray traversals. A solutio for parallel systems is to pass data packets cotaiig ray traversal iformatio from oe parallel processig elemet to aother. This passig of ray packets requires a etwork ad adds overheads to the ray castig algorithm. The objective of the ray castig algorithm preseted i this paper is to create a parallel algorithm that passes data i the correct order to a set of processig elemets without the memory or etwork bottleecks. To achieve this the algorithm preseted uses a limited rage of possible viewpoits for the ray castig algorithm. Arbitrary viewig is accomplished by addig two preprocessig stages. The first stage is called coordiate swappig, ad the secod. X axis rotatio. The fial stage requires a modified ray castig algorithm i the X, Z plae. The data that eters the first stage are voxel values, Va, which are represeted usig a right haded coordiate system called the world coordiate system. I the same coordiate system a viewig directio is specified usig a cylidrical coordiate system represeted by the values (J ad <p. The coordiate value for oe of the eight corers of the volume data set is equal to the origi ofthe world coordiate system ad the data set icreases i size alog the positive x, y ad z axes. 4.2 Coordiate Swappig The coordiate swappig stage of the image geeratio process ivolves the rearragemet ofcoordiate values for each voxel which reorders the iput data i terms of the ew coordiate system. The world coordiate system used for iput voxel data is chaged to the ew coordiate system ad called the limited view coordiate system ad chages all possible viewig agles i the rage of (0 < (J < 360,0 < <p < 180) to (225 < (J < 315,90 < <p < 180). This mappig is accomplished by swappig ad/or ivertig the x, y, z coordiates ofthe iput voxels depedig o the viewpoit represeted by the cylidrical coordiate values, (J ad <p. The ew coordiates are used i the X axis rotatio. The required coordiate swappig for each view agle are show i Table 1. 94

3 ! Regio Viewig Agles Axes Chage X+,Y+,Z+ Yie, Zic = icremetal values for y, z coordiates Z-,Y-,X respectively Y+,Z-,X Yz=, Zz= =rotated y,z coordiates for poits o the Z+,Y+,X z = plae Y-,Z+,X Yz=o, zz=o =rotated y,z coordiates for poits o the X+,Y-,Z z = 0 plae X+,Z-,Y+ X+,Y+,Z+ X+,Z+,Y- Table 1: Iput data rearragemets required for rages of viewig agles. 4.3 X axis rotatio The secod stage of the image geeratio process ivolves a two dimesioal array which effectively performs a small rotatio of the voxel data values. The rotatio is about the X axis of the limited view coordiate system. The complete rotatio calculatio ivolves a traslatio to the origi, a three dimesioal rotatio, ad a traslatio back to the origial positio. Usig a homogeeous coordiate system [4], the traslatio ad rotatio operatios result i the followig equatios: Rz =x Ry = Ycos(Oz) - Z si(oz) - ::2 cos(oz) + :: si(oz) + :: 2 2 Rz = ysi(oz) + zcos(oz) - ::2 si(oz) - :: cos(oz) + :: 2 2 =world coordiate values = rotated coordiate values i the limited view coordiate system =agle ofrotatio about the X axis calculated from the 0 view poit agle =size of the data set =size of the data set Oce all iitial ad icremetal values for coordiate rotatio are calculated they are used i a algorithm for the X axis rotatio. The algorithm is based o a two dimesioal array data structure W (x, y). Each elemet of the array stores the voxel data Va, the voxel y value Vy ad three boolea values eq, gt ad Lt. A compariso is made betwee the Vy value ad the y value stored i each array elemet ad the results stored i the three boolea values. The voxel data is also shifted alog the x axis ofthe array. As data is shifted alog the x axis the boolea values idicate whether the data moves to the adjacet array elemet or a row above or below the adjacet elemet. The x dimesio ofthe array is ad the y dimesio is I i order to hadle up to 45 degree rotatios. The iput ito the array is from the volume data ad proceeds i a plae-by-plae, colum-by-colum processig order. For each colum ofeach plae the data is iput ad rotated usig the followig algorithm : for ( y =1 to ) { W(,y).vy = Yz=o + (y X Yie) W(,y).Va = y{ze,y,zc} for ( x =1 to J{ { W(x,y).eq:= (W(x,y).Vy equal to W(x,y).Y pe ) W(x,y).gt:= (W(x,y).Vy greater tha W(x, y).y pe ) W(x,y).lt := (W(x, y).vy less tha W(x, y).ype) ifw(x,y).eq the W(x -l,y) = W(x,y) ifw(x,y).gt the W(x -l,y) = W(x,y -1) ifw(x,y).lt the W(x -l,y) = W(x,y + 1) } } To reduce the calculatio complexity ivolved i performig this calculatio for every coordiate a icremetal calculatio is used. The coordiates of a data poit i the first plae ad the last plae ofthe volume data set are rotated usig the above equatios. The rotated coordiates ofthe first plae poit are used as the startig poit ad icremetal values are added for each ew poit. The icremetal value is calculated usig the followig equatios: Yz= - Yz=o Yic = "---.:...--=..:. Zz= - Zz=o Zie = -'--.:...-..;;;...:. eq gt It xc zc =boolea value for equal y coordiates =boolea value for voxel Y coordiate greater tha array Y coordiate = boolea value for voxel y coordiate less tha array y coordiate = curret colum =curret plae 4.4 Ray Castig The fial stage ofthe ew image geeratio process is a modified ray castig algorithm that uses a array of rays that tra 95

4 verse through the volume data i the X, Z plae. A two di mesioal array, R(x, y), stores voxel values, voxel coordi ates, ad ray coordiates i each array elemet. The ray co ordiates, Rz ad Rz represet the curret locatio ofthe ray i the x, Zplae. The dimesios of the R(x, y) array are i both x ad y dimesios. The ray at each array locatio moves through the data i a icremetal fashio detectig itersectios with data values as it progresses. The startig poit ad icremetal values for each ray eed to be calculated for each image. The viewig ray is determied by takig a iitial value at the scree plae ad a termiatig value o the opposite side of the volume data. A lie is created betwee the two values ad the iitial poit of itersectio with the volume data set is foud. The icremetal values are foud usig these iitial ad fial values for each ray. The view plae is the x, y plae at Z = - i i the view co ordiate system. This view plae has to be traslated to the same coordiate system that the X axis rotatio uses so that coordiate itersectios ca be foud betwee rays ad the voxel values stored i the W (x, y) array. The trasformatio of the ray coordiate values to the correct coordiate system requires a traslatio to the origi, the rotatio, ad the aother traslatio back to volume data coordiates. The equa tios for the calculatio of x, Z values i the X axis rotatio coordiate space are : Rz = xcos(8y ) + zsi(8y) + - cos(9y) - si(9y) Rz = zcos(8y ) - x si(9y ) + - cos(9y) + 8i(Oy) x,z = origial coordiate values Rx,Rz =rotated coordiate values 8 y =agle of rotatio about the Y axis calculated from the </> view poit agle = size of the data set The poits o the viewig plae at z = - i are trasformed to the correct coordiate space with the viewig agle </>. Aother x, y plae at z = 5:, which represets the plae rays termiate, is also trasformed. Usig the two plaes as iitial ad fial values for each ray the itersectio poit betwee the ray ad the voxel data space is calculated. This itersectio is foud by fidig the itersectio betwee the lie coectig the correspodig poit o the two rotated plaes ad the faces of the cube which defies the voxel data space. This itersectio poit is the the iitial value for each ray. The icremet values for each ray are calculated usig the correspodig poits of the two plaes ad the followig formula: R z_ - 4 -Rx==f Xic = R z- - -Rz==.!1:. 4 4 Zic = Xic, Zic xz=,zz=,zz= =icremetal values for x, z ray coordiates respectively =rotated x, z coordiates for poits o the z = 5: plae =rotated x, z coordiates for poits o the z = -t plae = size of the data set A two dimesioal array, R(x, V), stores at each array elemet three voxel values, the coordiates for the curret plae voxel value, ad the coordiates of the ray associated with the array elemet. The array elemet also stores a series of boolea values. The x = 1 colum of the W (x, y) array cotais the voxel values ad associated coordiates which are assiged to the = colum of the R(x,y) array. The colums of data effectively move across the W(x, y) array ad ito the R(x,y) array. The R(x,y) array is drive by the same data processig as the W (x, y) array ad uses the followig algorithm to complete the ray castig operatio: jor ( y = 1 to ) { R(i,y).Vz =xc R(I,y).vz = zir+ (y X Zic) R(I,y),V4 = W(1,y),V4 R(,y).vb = R(1,y),V4 R(2,y).vC =R(l,y).ltb jor ( X =1 to ) { R(x, y).eq = (R(x, y).rx equal to R(x, y).vx) ad (R(x, y).rz equal to R(x, y).vz) R(x,y),V4 =R(x + 1,y).Va R(X,y).Vb = R(x + 1,y).Vb R(x, y).vc = R(x + 1,y).vc R(x,y).vx =R(x + 1, y).vx R(x, y).vz = R(x + 1, y).vz R(x,y).v1 =R(x + l,y).vl ifr(x, y).eq the if(r(x,y).vl used) the R(x,y).pv2 = R(x,y).Rxf, R(x,y).RzJ R(x,y).R:z =R(x,y).Rz +R(X,y).Xic R(x,y).Rz = R(x,y).Rz +R(X,y).Zic else R(x,y).pv1 = R(x,y).Rx,R(x,y).Rz R(x,y).vl = true } } 96

5 eq vi pv1 pv2 Vb Vc = boolea for ray itersectio with data value = boolea for whe first passed value is used = first set of passed ray itersectio values = secod set of passed ray itersectio values =previously processed plae of voxel values = plae of voxels processed before the Vb plae r;;;;l... Double Buffered Iput Warp Array Memory f- Ray Array The output from the R(x, y) array is the itersectio poits ad associated voxel values which are used i surface shadig ad image compositig. Whe a itersectio is foud the fractioal parts of the curret ray locatio are passed through the array to the the = 1 colum they are used i the shadig calculatios. Ifmore tha oe itersectio is foud at a particular voxellocatio a secod set of itersectio values are passed for shadig calculatio. Whe a ray itersects a voxel value, the coordiates ofthe ray are icremeted ad the ray is't icremeted agai util the ext itersectio. The distace betwee the sample poits that a ray takes is equal to the distace betwee voxel values i the data set to esure that o more tha two samples are ever take at oe voxellocatio. 4.5 Surface shadig ad image compositig The voxels values i the colum R(1, y) are used to calculate values for the pixels i the fial image. The y value of the voxel i the R(x, y) array is the scree y value for the pixel. The x pixel value is stored with the voxel i the R(x, y) array. A widow of 3 3 voxel values is take from the R(I, y) colum oe 3 x 3 plae for each iteratio of the complete algorithm. The gradiet at the cetre of the widow of values is calculated ad used as a surface gradiet for the cetre poit. The surface gradiet is used i a diffuse lightig equatio to calculate the light itesity ad hece pixel value at the locatio ofthe cetre voxel i the widow. The complete descriptio for surface shadig ad image compositig used i this system is described i [2, 1]. Alterative algorithms for surface shadig ad image compositig, that are implemeted i real-time systems, are outlied i [11, 15]. 5 Hardware Desig The architecture ofthe system ito which the ew image geeratio algorithm fits is show i Figure 1. The system is broke ito several major compoets icludig two custom hardware arrays of processig elemets based o the algorithms described i the previous sectio outliig the ew image geeratio algorithm. The system is capable of acceptig iput from a real-time data acquisitio device ad storig it i the memory system. The specialised memory represets the first stage ad is a double buffered memory with each buffer holdig oe copy of the volume data. As data is etered ito the double buffer the coordiate swappig operatio is performed. The output from the memory subsystem is coected to the warp array, which performs f- Frame Rederig i'" Scree fe- Buffer Pipelie f- I- Figure I: System level orgaisatio the X axis rotatio described i Sectio 4.3. The warp array fuctio is similar to a shear warp operatio, but is a rotatio ad ot a shear. The output from the warp array is coected to the iput ofthe ray array, which performs the modified ray castig algorithm described i Sectio 4.4. The last stage performs the surface shadig ad image compo sitig ad is broke ito several rederig pipelies ad a scree buffer. 5.1 Double buffered memory The first stage of the system is a double buffered memory which performs the coordiate swappig operatio described i Sectio 4.2. A double buffered memory is used so that data ca eter the system at the same time as data is read ito the warp array without coflictig accesses. The address of voxel data is altered as it is writte ito the double buffered memory. A icremetor startig at the origi poitofthe voxel values ad icremetig to the. last row ad colum of the fial plae of the voxel data is used to calculate the address of iput data. The icremetor value represets the X, Y ad Z coordiates with 8 bits for each coordiate to accommodate a data set. The coordiate values are the recalculated accordig to the view poit with coordiate swappig described i Sectio 4.2. Three multiplexors ad iverters are used to create the ew address the data is stored i the acti ve buffer for iput data. Oce the icremetor reaches the maximum value the buffer switch is chaged ad the process repeats. The buffer switch is used to select betwee the iput data buffer ad the buffer values are read ito the warp array. The desig of the double buffer is show i Figure 2. The iput data value addresses are calculated sequetially. To improve the performace of the address calculatio process multiple address calculatios uits ca ru i parallel. Data set sizes of ad would require parallel address calculatio uits. 97

6 data N P U T Icremetor Va 8 bit address, " Figure 2: Iput data double buffer for data rearragemet lililliati(m'ja y... cakulawrs Double lmr_ A"<y Memory -o'j_" ".J::::... " : :/"- /v:v\,', :/ '' i "'''':,/ "';.' ', " ",. VtIVyAt;/ Figure 3: The Warp Array orgaizatio 5.2 The Warp Array The warp array is a array ofprocessig elemets which perform the viewig rotatio described i Sectio 4.3. The orgaizatio ofthe warp array is show i Figure 3. Iitialisatio calculatios are required for the coordiate data used i the warp array. The icremetal calculatios require oe additio operatio for each voxel value. The projectio iitialisatio operatios are more complex ad require a dedicated digital sigal processor (DSP) to calculate the iitial values oce per frame. The iitial value for each row ad a icremetal value are loaded ito two registers which, combied with a adder, ca calculate the Y value iput for each row of the warp array. Ray Figure 4: Warp Array processig elemet Va Origial voxel data value V x, V y, V z X, Y ad Z coordiates of data value after X axis rotatio Y pe Y-positio of processig elemet from top of warp array Rxi, Rx/ Iteger ad fractioal compoets ofthe X coordiate of the ray Rzi, Rz/ Iteger ad fractioal compoets ofthe Z coordiate of the ray Table 2: Notatio for Warp ad Ray Array processig elemets. 5.3 The Warp Array processig elemet The warp array processig elemet takes oe set of iputs from three possible sets ad seds the iput to oe of three possible outputs depedig o the data's associated Y value. The etire array acts as a large shift register data is stored ad shifted towards its correct positio withi the array. Each processig elemet has a Y pe register which holds the y value of the array elemet. The Y pe value ad the Vy value are compared ad the voxel data ad y value are passed to a processig elemet i the ext colum which is either above, below or adjacet to the curret elemet. The processig elemet uses two flip flops as registers to store the voxel value ad its Y coordiate. The iput to the registers is selected from the outputs ofthe adjacet processig elemets. There are two select lies to the multiplexers which are drive by the comparator output of the adjacet processig elemets. The output of the register values are passed to the adjacet processig elemets o the output side. A comparator is used for the Y coordiate compariso. The layout for the warp processig elemet ca be see i Figure 4 ad the values are described i Table 2. The output of the fial colum ofthe warp array is coected to the iput ofthe first colum of the ray array. 98

7 .>, -DOfC}:I[J;f" OCI , == 61i[\ ", r > Figure 5: Ray Array orgaizatio Figure 6: Ray Array processig elemet 5.5 The Ray Array processig elemet 5.4 The Ray Array The ray array is a two dimesioal array of processig elemets which perform the operatio of ray castig as described i Sectio 4.4. The iitial values for the ray coordiates are calculated by a dedicated digital sigal processor (DSP) chip ad passed through the ray array to the correct processig elemet. The DSP chip calculates the iitialisatios described i Sectio 4.4, which are performed oce per frame. The coordiates ofthe ray are stored i each processig elemet usig a register with both a 8-bit iteger ad 8-bit fractioal compoet. The iteger compoet of the ray ad the coordiates ofthe voxel data are compared to determie itersectios with the data ad whe a itersectio occurs the fractioal compoet ofthe itersectio is passed through the remaider ofthe array. Each ray array processig elemet accepts a set ofvalues that cotai itersectio iformatio from previous processig elemets. After the itersectio calculatio is performed the result is combied with the iput itersectio data ad set to the followig processig elemet. The output data is used by the shadig operatio i the surface rederig ad image compositig stage. The orgaizatio of the ray array is show i Figure 5. The voxel data value Va from the warp array is placed directly ito the adjacet processig elemets i the ray array. The voxel y coordiate, V y is ot passed o to the ray array as it is o loger eeded for computatio. Each ray array elemet stores a voxel value from the curret plae. Va ad the two previous plaes, Vb ad Ye. Iitialisatio values are loaded ito each ray array processig elemet usig the a load bit ad the registers that pass the itersectio data. The load bit is used to switch multiplexors that iput the iitialisatio data ito the appropriate registers i the processig elemet. Each ray array processig elemet stores data usig flip flops as data registers. The ray coordiate is icremeted through the array usig two 16-bit carry look ahead adders. A itersectio is detected usig a comparator to detect whe the coordiates of a voxel ad a ray are equal. At each itersectio poit, the fractioal compoets of the ray locatio. RzJ ad RzJ are output to the ext processig elemet. Oce a itersectio is detected by the comparator the itersectio data i the iput register is checked to see ifa value already exists, ifso the itersectio data from the curret processig elemet is placed i the secod locatio. I Figure 6 the layout for a ray processig elemet is show with the values explaied i Table 2. 6 Results The viewig ad shadig operatios of the system were implemeted i software ad results were obtaied. The processig elemets i the warp ad ray array were implemeted i a hardware descriptio laguage (HDL) ad tested for fuctioality ad performace. The viewig ad shadig operatios were tested o both artificial ad real data sets. Oly the real data set results are discussed i this paper. The artificial data sets showed that all arbitrary viewig agles worked correctly. 99

8 6.1 Software Simulatio The results from the software simulatio for a 40 3 sized data set cotaiig several spheres is show i Figure 7 (a). I Figure 7(a) the viewpoit is set to () = 45 degrees ad =45 degrees showig the performace of both the ray ad warp arrays. To test the two arrays o real sampled data a MRI of a huma heart was used. Figure 7(b) shows the data set with o rotatio. 6.2 Hardware Simulatio To test hardware fuctioality ad to estimate the processig speeds ofthe warp ad ray array, the processig elemets were defied i a HDL ad simulated usig a switch level simulator [6]. The simulator takes accout of gate delays ad fa-i ad fa-out coditios. Both processig elemets fuctioed as described, with the warp array processig elemet operatig at 38MH Z, ad the ray array processig elemet at 25MHz. 6.3 System Performace To estimate the performace of the complete system the results from the hardware simulatios were used. A coservative clock rate of 20MH z will produce a pixel result every loos. To estimate the requiremets ofa real time system, a example data set ofsize was used to geerate sized images. This was foud to require 32MB of8-bit data i the double buffered memory. Assumig IOs memory is used the 3 parallel read ad write lies are required to perform at 15!/ s. The warp array requires a array of size 256 x 384 ad the ray array requires a array of 384 x 384. The techology used for simulatig the gate array layout is LSI logic's 0.6-micro LCA300K [14]. The maximum umber of gates o oe chip is 300,000. The hardware descriptio was traslated to the descriptio laguage used by the LSI toolset ad a gate array schematic geerated to determie the umber of gates that each processig elemet required. Usig these details the warp array requires a set of25 chips cofigured i a 5 x 5 array. The larger ray array is implemetable usig a similar set of 5 x 5 chips, but oly cotais a 384 x 40 ray array. This reduced size requires that the ray array be reused approximately 10 times per frame. The followig calculatio estimates the time required to geerate oe frame i this system : loos x 256 x 256 x 10 = 65ms The frame time traslates to a performace of 15 f/s. 7 Coclusio This paper has preseted a ew algorithm ad hardware desig for the visualizatio of volume data. The warp array ad ray array store the data as it is'processed ad perform the viewig ad ray castig operatios required for volume visualizatio. The reductio ofthe three dimesioal ray castig algorithm to two dimesioal is a direct result of the coordiate swappig process ad the X axis rotatio. The separatio of ray castig from data storage ad rederig allows these aspects to be customized for particular applicatios. The system is desiged to allow flexibility i the sizig of both the warp ad ray arrays to cost ad performace cosideratios. The system utilises a high level of both pipeliig ad parallelism to provide real time frame rates for volume data sets. The system desig is scalable ad therefore allows it to be used to process larger data sets at higher frame rates. 8 Ackowledgemets The author would like to thak Professor Graham Hellestrad for his supervisio ad essetial feedback, Dr Jayasooriah, Mr Guter Kittel ad Mr Stephe Avery for their helpful discussios with regard to this work, ad Dr Jiirge Hesser for the MRI data set of a huma heart. Refereces [1] DOGGETT, M., AND HELLESTRAND, G. A hardware architecture for video rate shadig of volume data. I Iteratioal Symposium ofcircuits adsystems (May 1995), IEEE. [2] DOGGETT, M. C., AND HELLESTRAND, G. R. A hardware architecture for video rate smooth shadig of volume data. I EuroGraphics Workshop o Graphics Hardware (September 1994). EuroGraphics, pp [3] DREBIN, R., CARPENTER, L., AND HANRAHAN, P. Volume rederig. Computer Graphics 22, 4 (August 1988), [4] FOLEY, J. D., VAN DAM, A., FEINER, S. K., AND HUGHES, J. F. Computer Graphics: Priciples ad Practice. Addiso Wesley, [5] GUNTHER, T., POLIWODA, C., REINHART, C., HESSER, J., MANNER, R., MEINZER, H.-P., AND BAUR, H.-J. Virim: A massively parallel processor for real-time volume visualizatio i medicie. I Eurographics workshop o Graphics Hardware (September 1994), pp [6] HELLESTRAND, G. R. Modal: A system for digital hardware descriptio ad simulatio. Joural ofdigital Systems 4,3 (1980), [7] JUSKIW, S., AND DURDLE, N. G. Iteractive rederig of voumetric data sets. I Eurographics workshop o GraphiCS Hardware (September 1994), pp

9 [8] KAUFMAN, A., AND BAKALASH, R. Memory ad processig architecture for 3d voxel-based imagery. IEEE Computer Graphics ad Applicatios 8, II (November 1988), [9] KAUFMAN, A., COHEN, D., AND YAGEL, R. Volume graphics. IEEE Computer 26,7 (July 1993), [10] KAUFMAN, A., HOHNE, K. H., KRUGER, W., ROSENBLUM, L., AND SCHROEDER, P. Research issues i volume visualizatio. IEEE Computer Graphics ad Applicatios 14, 2 (March 1994), [11] KNITTEL, G. A scalable architecture for volume rederig. I Eurographics Workshop o Graphics Hardware (September 1994), pp [12] LACROUTE, P., AND LEVOY, M. Fast volume rederig usig a shear-warp factorizatio of the viewig trasformatio. I Computer GraphiCS (July 1994), ACM SIGGRAPH, pp (a) [13] LEVaY, M. Display of surfaces from volume data. IEEE Computer Graphics ad Applicatios 8, 5 (May 1988), [14] LSI LOGIC CORPORATION. LCA300K Gate Array 5 Volt Series Products Databook, October [15] PFISTER, H., KAUFMAN, A., AND CHIVEH, T.-C. Cube 3: A real-time architecture for high resolutio volume vizualizatio. I ACMIlEEE Symposium o Volume Visualizatio (October 1994). [16] STYTZ, M. R., AND FRIEDER, O. Volume-primitive based three-dimesioal medical image rederig: Customized architectural approaches. Computers ad Graphics /6,1 (1992), [17] VEZINA, G., FLETCHER, P. A., AND ROBERTSON, P. K. Volume rederig o the maspar mp-l. I A CM Workshop o Volume Visualizatio (October 1992), pp.3-8. [18] YAGEL, R., COHEN, D., AND KAUFMAN, A. Discrete ray tracig. IEEE Computer Graphics ad Applicatios 12, 5 (September 1992), (b) Figure 7: (a) A data set comprised of spheres at a arbitrary view poit. (b) MRI heart Sca with o rotatio 101

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware A Overview Graphics System Moitor Iput devices CPU/Memory GPU Raster Graphics System Raster: A array of picture elemets Based o raster-sca TV techology The scree (ad a picture)

More information

Elementary Educational Computer

Elementary Educational Computer Chapter 5 Elemetary Educatioal Computer. Geeral structure of the Elemetary Educatioal Computer (EEC) The EEC coforms to the 5 uits structure defied by vo Neuma's model (.) All uits are preseted i a simplified

More information

Pattern Recognition Systems Lab 1 Least Mean Squares

Pattern Recognition Systems Lab 1 Least Mean Squares Patter Recogitio Systems Lab 1 Least Mea Squares 1. Objectives This laboratory work itroduces the OpeCV-based framework used throughout the course. I this assigmet a lie is fitted to a set of poits usig

More information

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control

EE 459/500 HDL Based Digital Design with Programmable Logic. Lecture 13 Control and Sequencing: Hardwired and Microprogrammed Control EE 459/500 HDL Based Digital Desig with Programmable Logic Lecture 13 Cotrol ad Sequecig: Hardwired ad Microprogrammed Cotrol Refereces: Chapter s 4,5 from textbook Chapter 7 of M.M. Mao ad C.R. Kime,

More information

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design

COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 4. The Processor. Part A Datapath Design COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter The Processor Part A path Desig Itroductio CPU performace factors Istructio cout Determied by ISA ad compiler. CPI ad

More information

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS

APPLICATION NOTE PACE1750AE BUILT-IN FUNCTIONS APPLICATION NOTE PACE175AE BUILT-IN UNCTIONS About This Note This applicatio brief is iteded to explai ad demostrate the use of the special fuctios that are built ito the PACE175AE processor. These powerful

More information

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design

CSC 220: Computer Organization Unit 11 Basic Computer Organization and Design College of Computer ad Iformatio Scieces Departmet of Computer Sciece CSC 220: Computer Orgaizatio Uit 11 Basic Computer Orgaizatio ad Desig 1 For the rest of the semester, we ll focus o computer architecture:

More information

. Written in factored form it is easy to see that the roots are 2, 2, i,

. Written in factored form it is easy to see that the roots are 2, 2, i, CMPS A Itroductio to Programmig Programmig Assigmet 4 I this assigmet you will write a java program that determies the real roots of a polyomial that lie withi a specified rage. Recall that the roots (or

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 19 Query Optimizatio Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio Query optimizatio Coducted by a query optimizer i a DBMS Goal:

More information

IMP: Superposer Integrated Morphometrics Package Superposition Tool

IMP: Superposer Integrated Morphometrics Package Superposition Tool IMP: Superposer Itegrated Morphometrics Package Superpositio Tool Programmig by: David Lieber ( 03) Caisius College 200 Mai St. Buffalo, NY 4208 Cocept by: H. David Sheets, Dept. of Physics, Caisius College

More information

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 1. Introduction to Computers and C++ Programming. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 1 Itroductio to Computers ad C++ Programmig Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 1.1 Computer Systems 1.2 Programmig ad Problem Solvig 1.3 Itroductio to C++ 1.4 Testig

More information

Normals. In OpenGL the normal vector is part of the state Set by glnormal*()

Normals. In OpenGL the normal vector is part of the state Set by glnormal*() Ray Tracig 1 Normals OpeG the ormal vector is part of the state Set by glnormal*() -glnormal3f(x, y, z); -glnormal3fv(p); Usually we wat to set the ormal to have uit legth so cosie calculatios are correct

More information

Accuracy Improvement in Camera Calibration

Accuracy Improvement in Camera Calibration Accuracy Improvemet i Camera Calibratio FaJie L Qi Zag ad Reihard Klette CITR, Computer Sciece Departmet The Uiversity of Aucklad Tamaki Campus, Aucklad, New Zealad fli006, qza001@ec.aucklad.ac.z r.klette@aucklad.ac.z

More information

Chapter 3 Classification of FFT Processor Algorithms

Chapter 3 Classification of FFT Processor Algorithms Chapter Classificatio of FFT Processor Algorithms The computatioal complexity of the Discrete Fourier trasform (DFT) is very high. It requires () 2 complex multiplicatios ad () complex additios [5]. As

More information

3D Model Retrieval Method Based on Sample Prediction

3D Model Retrieval Method Based on Sample Prediction 20 Iteratioal Coferece o Computer Commuicatio ad Maagemet Proc.of CSIT vol.5 (20) (20) IACSIT Press, Sigapore 3D Model Retrieval Method Based o Sample Predictio Qigche Zhag, Ya Tag* School of Computer

More information

A Very Simple Approach for 3-D to 2-D Mapping

A Very Simple Approach for 3-D to 2-D Mapping A Very Simple Approach for -D to -D appig Sadipa Dey (1 Ajith Abraham ( Sugata Sayal ( Sadipa Dey (1 Ashi Software Private Limited INFINITY Tower II 10 th Floor Plot No. - 4. Block GP Salt Lake Electroics

More information

CS Polygon Scan Conversion. Slide 1

CS Polygon Scan Conversion. Slide 1 CS 112 - Polygo Sca Coversio Slide 1 Polygo Classificatio Covex All iterior agles are less tha 180 degrees Cocave Iterior agles ca be greater tha 180 degrees Degeerate polygos If all vertices are colliear

More information

Computers and Scientific Thinking

Computers and Scientific Thinking Computers ad Scietific Thikig David Reed, Creighto Uiversity Chapter 15 JavaScript Strigs 1 Strigs as Objects so far, your iteractive Web pages have maipulated strigs i simple ways use text box to iput

More information

Ones Assignment Method for Solving Traveling Salesman Problem

Ones Assignment Method for Solving Traveling Salesman Problem Joural of mathematics ad computer sciece 0 (0), 58-65 Oes Assigmet Method for Solvig Travelig Salesma Problem Hadi Basirzadeh Departmet of Mathematics, Shahid Chamra Uiversity, Ahvaz, Ira Article history:

More information

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM

BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM MATEC Web of Cofereces 79, 01014 (016) DOI: 10.1051/ mateccof/0167901014 T 016 BOOLEAN DIFFERENTIATION EQUATIONS APPLICABLE IN RECONFIGURABLE COMPUTATIONAL MEDIUM Staislav Shidlovskiy 1, 1 Natioal Research

More information

Chapter 4 The Datapath

Chapter 4 The Datapath The Ageda Chapter 4 The Datapath Based o slides McGraw-Hill Additioal material 24/25/26 Lewis/Marti Additioal material 28 Roth Additioal material 2 Taylor Additioal material 2 Farmer Tae the elemets that

More information

Behavioral Modeling in Verilog

Behavioral Modeling in Verilog Behavioral Modelig i Verilog COE 202 Digital Logic Desig Dr. Muhamed Mudawar Kig Fahd Uiversity of Petroleum ad Mierals Presetatio Outlie Itroductio to Dataflow ad Behavioral Modelig Verilog Operators

More information

Neural Networks A Model of Boolean Functions

Neural Networks A Model of Boolean Functions Neural Networks A Model of Boolea Fuctios Berd Steibach, Roma Kohut Freiberg Uiversity of Miig ad Techology Istitute of Computer Sciece D-09596 Freiberg, Germay e-mails: steib@iformatik.tu-freiberg.de

More information

UNIVERSITY OF MORATUWA

UNIVERSITY OF MORATUWA UNIVERSITY OF MORATUWA FACULTY OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING B.Sc. Egieerig 2014 Itake Semester 2 Examiatio CS2052 COMPUTER ARCHITECTURE Time allowed: 2 Hours Jauary 2016

More information

Sheared Interpolation and Gradient Estimation. for Real-Time Volume Rendering. Hanspeter Pster, Frank Wessels, and Arie Kaufman

Sheared Interpolation and Gradient Estimation. for Real-Time Volume Rendering. Hanspeter Pster, Frank Wessels, and Arie Kaufman Sheared Iterpolatio ad Gradiet Estimatio for Real-Time Volume Rederig Haspeter Pster, Frak Wessels, ad Arie Kaufma Departmet of Computer Sciece State Uiversity of New York at Stoy Brook Stoy Brook, NY

More information

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL

Automatic Generation of Polynomial-Basis Multipliers in GF (2 n ) using Recursive VHDL Automatic Geeratio of Polyomial-Basis Multipliers i GF (2 ) usig Recursive VHDL J. Nelso, G. Lai, A. Teca Abstract Multiplicatio i GF (2 ) is very commoly used i the fields of cryptography ad error correctig

More information

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved.

Chapter 11. Friends, Overloaded Operators, and Arrays in Classes. Copyright 2014 Pearson Addison-Wesley. All rights reserved. Chapter 11 Frieds, Overloaded Operators, ad Arrays i Classes Copyright 2014 Pearso Addiso-Wesley. All rights reserved. Overview 11.1 Fried Fuctios 11.2 Overloadig Operators 11.3 Arrays ad Classes 11.4

More information

. Perform a geometric (ray-optics) construction (i.e., draw in the rays on the diagram) to show where the final image is formed.

. Perform a geometric (ray-optics) construction (i.e., draw in the rays on the diagram) to show where the final image is formed. MASSACHUSETTS INSTITUTE of TECHNOLOGY Departmet of Electrical Egieerig ad Computer Sciece 6.161 Moder Optics Project Laboratory 6.637 Optical Sigals, Devices & Systems Problem Set No. 1 Geometric optics

More information

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 )

EE260: Digital Design, Spring /16/18. n Example: m 0 (=x 1 x 2 ) is adjacent to m 1 (=x 1 x 2 ) and m 2 (=x 1 x 2 ) but NOT m 3 (=x 1 x 2 ) EE26: Digital Desig, Sprig 28 3/6/8 EE 26: Itroductio to Digital Desig Combiatioal Datapath Yao Zheg Departmet of Electrical Egieerig Uiversity of Hawaiʻi at Māoa Combiatioal Logic Blocks Multiplexer Ecoders/Decoders

More information

Weston Anniversary Fund

Weston Anniversary Fund Westo Olie Applicatio Guide 2018 1 This guide is desiged to help charities applyig to the Westo to use our olie applicatio form. The Westo is ope to applicatios from 5th Jauary 2018 ad closes o 30th Jue

More information

Parallel Polygon Approximation Algorithm Targeted at Reconfigurable Multi-Ring Hardware

Parallel Polygon Approximation Algorithm Targeted at Reconfigurable Multi-Ring Hardware Parallel Polygo Approximatio Algorithm Targeted at Recofigurable Multi-Rig Hardware M. Arif Wai* ad Hamid R. Arabia** *Califoria State Uiversity Bakersfield, Califoria, USA **Uiversity of Georgia, Georgia,

More information

Image Segmentation EEE 508

Image Segmentation EEE 508 Image Segmetatio Objective: to determie (etract) object boudaries. It is a process of partitioig a image ito distict regios by groupig together eighborig piels based o some predefied similarity criterio.

More information

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON

A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON A SOFTWARE MODEL FOR THE MULTILAYER PERCEPTRON Roberto Lopez ad Eugeio Oñate Iteratioal Ceter for Numerical Methods i Egieerig (CIMNE) Edificio C1, Gra Capitá s/, 08034 Barceloa, Spai ABSTRACT I this work

More information

Multiprocessors. HPC Prof. Robert van Engelen

Multiprocessors. HPC Prof. Robert van Engelen Multiprocessors Prof. Robert va Egele Overview The PMS model Shared memory multiprocessors Basic shared memory systems SMP, Multicore, ad COMA Distributed memory multicomputers MPP systems Network topologies

More information

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods.

Software development of components for complex signal analysis on the example of adaptive recursive estimation methods. Software developmet of compoets for complex sigal aalysis o the example of adaptive recursive estimatio methods. SIMON BOYMANN, RALPH MASCHOTTA, SILKE LEHMANN, DUNJA STEUER Istitute of Biomedical Egieerig

More information

DETECTION OF LANDSLIDE BLOCK BOUNDARIES BY MEANS OF AN AFFINE COORDINATE TRANSFORMATION

DETECTION OF LANDSLIDE BLOCK BOUNDARIES BY MEANS OF AN AFFINE COORDINATE TRANSFORMATION Proceedigs, 11 th FIG Symposium o Deformatio Measuremets, Satorii, Greece, 2003. DETECTION OF LANDSLIDE BLOCK BOUNDARIES BY MEANS OF AN AFFINE COORDINATE TRANSFORMATION Michaela Haberler, Heribert Kahme

More information

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe CHAPTER 18 Strategies for Query Processig Copyright 2016 Ramez Elmasri ad Shamkat B. Navathe Itroductio DBMS techiques to process a query Scaer idetifies

More information

Performance Plus Software Parameter Definitions

Performance Plus Software Parameter Definitions Performace Plus+ Software Parameter Defiitios/ Performace Plus Software Parameter Defiitios Chapma Techical Note-TG-5 paramete.doc ev-0-03 Performace Plus+ Software Parameter Defiitios/2 Backgroud ad Defiitios

More information

Parabolic Path to a Best Best-Fit Line:

Parabolic Path to a Best Best-Fit Line: Studet Activity : Fidig the Least Squares Regressio Lie By Explorig the Relatioship betwee Slope ad Residuals Objective: How does oe determie a best best-fit lie for a set of data? Eyeballig it may be

More information

Evaluation scheme for Tracking in AMI

Evaluation scheme for Tracking in AMI A M I C o m m u i c a t i o A U G M E N T E D M U L T I - P A R T Y I N T E R A C T I O N http://www.amiproject.org/ Evaluatio scheme for Trackig i AMI S. Schreiber a D. Gatica-Perez b AMI WP4 Trackig:

More information

Computer Systems - HS

Computer Systems - HS What have we leared so far? Computer Systems High Level ENGG1203 2d Semester, 2017-18 Applicatios Sigals Systems & Cotrol Systems Computer & Embedded Systems Digital Logic Combiatioal Logic Sequetial Logic

More information

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation

Improvement of the Orthogonal Code Convolution Capabilities Using FPGA Implementation Improvemet of the Orthogoal Code Covolutio Capabilities Usig FPGA Implemetatio Naima Kaabouch, Member, IEEE, Apara Dhirde, Member, IEEE, Saleh Faruque, Member, IEEE Departmet of Electrical Egieerig, Uiversity

More information

COMP 558 lecture 6 Sept. 27, 2010

COMP 558 lecture 6 Sept. 27, 2010 Radiometry We have discussed how light travels i straight lies through space. We would like to be able to talk about how bright differet light rays are. Imagie a thi cylidrical tube ad cosider the amout

More information

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method

A New Morphological 3D Shape Decomposition: Grayscale Interframe Interpolation Method A ew Morphological 3D Shape Decompositio: Grayscale Iterframe Iterpolatio Method D.. Vizireau Politehica Uiversity Bucharest, Romaia ae@comm.pub.ro R. M. Udrea Politehica Uiversity Bucharest, Romaia mihea@comm.pub.ro

More information

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only

Bezier curves. Figure 2 shows cubic Bezier curves for various control points. In a Bezier curve, only Edited: Yeh-Liag Hsu (998--; recommeded: Yeh-Liag Hsu (--9; last updated: Yeh-Liag Hsu (9--7. Note: This is the course material for ME55 Geometric modelig ad computer graphics, Yua Ze Uiversity. art of

More information

CS 683: Advanced Design and Analysis of Algorithms

CS 683: Advanced Design and Analysis of Algorithms CS 683: Advaced Desig ad Aalysis of Algorithms Lecture 6, February 1, 2008 Lecturer: Joh Hopcroft Scribes: Shaomei Wu, Etha Feldma February 7, 2008 1 Threshold for k CNF Satisfiability I the previous lecture,

More information

are two specific neighboring points, F( x, y)

are two specific neighboring points, F( x, y) $33/,&$7,212)7+(6(/)$92,',1* 5$1'20:$/.12,6(5('8&7,21$/*25,7+0,17+(&2/285,0$*(6(*0(17$7,21 %RJGDQ602/.$+HQU\N3$/86'DPLDQ%(5(6.$ 6LOHVLDQ7HFKQLFDO8QLYHUVLW\'HSDUWPHQWRI&RPSXWHU6FLHQFH $NDGHPLFND*OLZLFH32/$1'

More information

Intro to Scientific Computing: Solutions

Intro to Scientific Computing: Solutions Itro to Scietific Computig: Solutios Dr. David M. Goulet. How may steps does it take to separate 3 objects ito groups of 4? We start with 5 objects ad apply 3 steps of the algorithm to reduce the pile

More information

Guide to Applying Online

Guide to Applying Online Guide to Applyig Olie Itroductio Respodig to requests for additioal iformatio Reportig: submittig your moitorig or ed of grat Pledges: submittig your Itroductio This guide is to help charities submit their

More information

The Nature of Light. Chapter 22. Geometric Optics Using a Ray Approximation. Ray Approximation

The Nature of Light. Chapter 22. Geometric Optics Using a Ray Approximation. Ray Approximation The Nature of Light Chapter Reflectio ad Refractio of Light Sectios: 5, 8 Problems: 6, 7, 4, 30, 34, 38 Particles of light are called photos Each photo has a particular eergy E = h ƒ h is Plack s costat

More information

The Magma Database file formats

The Magma Database file formats The Magma Database file formats Adrew Gaylard, Bret Pikey, ad Mart-Mari Breedt Johaesburg, South Africa 15th May 2006 1 Summary Magma is a ope-source object database created by Chris Muller, of Kasas City,

More information

Fast Fourier Transform (FFT) Algorithms

Fast Fourier Transform (FFT) Algorithms Fast Fourier Trasform FFT Algorithms Relatio to the z-trasform elsewhere, ozero, z x z X x [ ] 2 ~ elsewhere,, ~ e j x X x x π j e z z X X π 2 ~ The DFS X represets evely spaced samples of the z- trasform

More information

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c

Harris Corner Detection Algorithm at Sub-pixel Level and Its Application Yuanfeng Han a, Peijiang Chen b * and Tian Meng c Iteratioal Coferece o Computatioal Sciece ad Egieerig (ICCSE 015) Harris Corer Detectio Algorithm at Sub-pixel Level ad Its Applicatio Yuafeg Ha a, Peijiag Che b * ad Tia Meg c School of Automobile, Liyi

More information

Counting Regions in the Plane and More 1

Counting Regions in the Plane and More 1 Coutig Regios i the Plae ad More 1 by Zvezdelia Stakova Berkeley Math Circle Itermediate I Group September 016 1. Overarchig Problem Problem 1 Regios i a Circle. The vertices of a polygos are arraged o

More information

Texture Mapping. Jian Huang. This set of slides references the ones used at Ohio State for instruction.

Texture Mapping. Jian Huang. This set of slides references the ones used at Ohio State for instruction. Texture Mappig Jia Huag This set of slides refereces the oes used at Ohio State for istructio. Ca you do this What Dreams May Come Texture Mappig Of course, oe ca model the exact micro-geometry + material

More information

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua

Mobile terminal 3D image reconstruction program development based on Android Lin Qinhua Iteratioal Coferece o Automatio, Mechaical Cotrol ad Computatioal Egieerig (AMCCE 05) Mobile termial 3D image recostructio program developmet based o Adroid Li Qihua Sichua Iformatio Techology College

More information

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago

CMSC Computer Architecture Lecture 12: Virtual Memory. Prof. Yanjing Li University of Chicago CMSC 22200 Computer Architecture Lecture 12: Virtual Memory Prof. Yajig Li Uiversity of Chicago A System with Physical Memory Oly Examples: most Cray machies early PCs Memory early all embedded systems

More information

Lecture 28: Data Link Layer

Lecture 28: Data Link Layer Automatic Repeat Request (ARQ) 2. Go ack N ARQ Although the Stop ad Wait ARQ is very simple, you ca easily show that it has very the low efficiecy. The low efficiecy comes from the fact that the trasmittig

More information

Introduction to OSPF. ISP Training Workshops

Introduction to OSPF. ISP Training Workshops Itroductio to OSPF ISP Traiig Workshops 1 OSPF p Ope Shortest Path First p Lik state or SPF techology p Developed by OSPF workig group of IETF (RFC 1247) p OSPFv2 stadard described i RFC2328 p Desiged

More information

One advantage that SONAR has over any other music-sequencing product I ve worked

One advantage that SONAR has over any other music-sequencing product I ve worked *gajedra* D:/Thomso_Learig_Projects/Garrigus_163132/z_productio/z_3B2_3D_files/Garrigus_163132_ch17.3d, 14/11/08/16:26:39, 16:26, page: 647 17 CAL 101 Oe advatage that SONAR has over ay other music-sequecig

More information

FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD)

FINITE DIFFERENCE TIME DOMAIN METHOD (FDTD) FINIT DIFFRNC TIM DOMAIN MTOD (FDTD) The FDTD method, proposed b Yee, 1966, is aother umerical method, used widel for the solutio of M problems. It is used to solve ope-regio scatterig, radiatio, diffusio,

More information

Digital System Design

Digital System Design July, 22 9:55 vra235_ch Sheet umber Page umber 65 black chapter Digital System Desig a b c d e f g h 8 7 6 5 4 3 2. Bd3 g6+, Ke8 d8 65 July, 22 9:55 vra235_ch Sheet umber 2 Page umber 66 black 66 CHAPTER

More information

A Study on the Performance of Cholesky-Factorization using MPI

A Study on the Performance of Cholesky-Factorization using MPI A Study o the Performace of Cholesky-Factorizatio usig MPI Ha S. Kim Scott B. Bade Departmet of Computer Sciece ad Egieerig Uiversity of Califoria Sa Diego {hskim, bade}@cs.ucsd.edu Abstract Cholesky-factorizatio

More information

SURVEYING INSTRUMENTS SDR33 SOKKIA ELECTR ONIC FIELD BOOKS NOW EVEN MORE RUGGED PERFORMANCE. from The World Leader in Data Collection

SURVEYING INSTRUMENTS SDR33 SOKKIA ELECTR ONIC FIELD BOOKS NOW EVEN MORE RUGGED PERFORMANCE. from The World Leader in Data Collection SURVEYING INSTRUMENTS TM SOKKIA SDR33 ELECTR ONIC FIELD BOOKS ELECTRONIC NOW EVEN MORE RUGGED PERFORMANCE from The World Leader i Data Collectio PUT RUGGED, DEPENDABLE POWER IN THE PALM OF YOUR HAND You

More information

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits

Reversible Realization of Quaternary Decoder, Multiplexer, and Demultiplexer Circuits Egieerig Letters, :, EL Reversible Realizatio of Quaterary Decoder, Multiplexer, ad Demultiplexer Circuits Mozammel H.. Kha, Member, ENG bstract quaterary reversible circuit is more compact tha the correspodig

More information

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 10. Defining Classes. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 10 Defiig Classes Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 10.1 Structures 10.2 Classes 10.3 Abstract Data Types 10.4 Itroductio to Iheritace Copyright 2015 Pearso Educatio,

More information

Recursive Procedures. How can you model the relationship between consecutive terms of a sequence?

Recursive Procedures. How can you model the relationship between consecutive terms of a sequence? 6. Recursive Procedures I Sectio 6.1, you used fuctio otatio to write a explicit formula to determie the value of ay term i a Sometimes it is easier to calculate oe term i a sequece usig the previous terms.

More information

Computational Geometry

Computational Geometry Computatioal Geometry Chapter 4 Liear programmig Duality Smallest eclosig disk O the Ageda Liear Programmig Slides courtesy of Craig Gotsma 4. 4. Liear Programmig - Example Defie: (amout amout cosumed

More information

Alpha Individual Solutions MAΘ National Convention 2013

Alpha Individual Solutions MAΘ National Convention 2013 Alpha Idividual Solutios MAΘ Natioal Covetio 0 Aswers:. D. A. C 4. D 5. C 6. B 7. A 8. C 9. D 0. B. B. A. D 4. C 5. A 6. C 7. B 8. A 9. A 0. C. E. B. D 4. C 5. A 6. D 7. B 8. C 9. D 0. B TB. 570 TB. 5

More information

Lighting and Shading. Outline. Raytracing Example. Global Illumination. Local Illumination. Radiosity Example

Lighting and Shading. Outline. Raytracing Example. Global Illumination. Local Illumination. Radiosity Example CSCI 480 Computer Graphics Lecture 9 Lightig ad Shadig Light Sources Phog Illumiatio Model Normal Vectors [Agel Ch. 6.1-6.4] February 13, 2013 Jerej Barbic Uiversity of Souther Califoria http://www-bcf.usc.edu/~jbarbic/cs480-s13/

More information

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation

Task scenarios Outline. Scenarios in Knowledge Extraction. Proposed Framework for Scenario to Design Diagram Transformation 6-0-0 Kowledge Trasformatio from Task Scearios to View-based Desig Diagrams Nima Dezhkam Kamra Sartipi {dezhka, sartipi}@mcmaster.ca Departmet of Computig ad Software McMaster Uiversity CANADA SEKE 08

More information

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 5. Functions for All Subtasks. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 5 Fuctios for All Subtasks Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 5.1 void Fuctios 5.2 Call-By-Referece Parameters 5.3 Usig Procedural Abstractio 5.4 Testig ad Debuggig

More information

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5.

Morgan Kaufmann Publishers 26 February, COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Interface. Chapter 5. Morga Kaufma Publishers 26 February, 208 COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Chapter 5 Virtual Memory Review: The Memory Hierarchy Take advatage of the priciple

More information

1. Introduction o Microscopic property responsible for MRI Show and discuss graphics that go from macro to H nucleus with N-S pole

1. Introduction o Microscopic property responsible for MRI Show and discuss graphics that go from macro to H nucleus with N-S pole Page 1 Very Quick Itroductio to MRI The poit of this itroductio is to give the studet a sufficietly accurate metal picture of MRI to help uderstad its impact o image registratio. The two major aspects

More information

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software

Structuring Redundancy for Fault Tolerance. CSE 598D: Fault Tolerant Software Structurig Redudacy for Fault Tolerace CSE 598D: Fault Tolerat Software What do we wat to achieve? Versios Damage Assessmet Versio 1 Error Detectio Iputs Versio 2 Voter Outputs State Restoratio Cotiued

More information

EVALUATION OF TRIGONOMETRIC FUNCTIONS

EVALUATION OF TRIGONOMETRIC FUNCTIONS EVALUATION OF TRIGONOMETRIC FUNCTIONS Whe first exposed to trigoometric fuctios i high school studets are expected to memorize the values of the trigoometric fuctios of sie cosie taget for the special

More information

Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 3. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram Lecture 3 RTL Desig Methodology Trasitio from Pseudocode & Iterface to a Correspodig Block Diagram Structure of a Typical Digital Data Iputs Datapath (Executio Uit) Data Outputs System Cotrol Sigals Status

More information

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 4. Procedural Abstraction and Functions That Return a Value. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 4 Procedural Abstractio ad Fuctios That Retur a Value Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 4.1 Top-Dow Desig 4.2 Predefied Fuctios 4.3 Programmer-Defied Fuctios 4.4

More information

DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO

DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO DESIGN AND ANALYSIS OF LDPC DECODERS FOR SOFTWARE DEFINED RADIO Sagwo Seo, Trevor Mudge Advaced Computer Architecture Laboratory Uiversity of Michiga at A Arbor {swseo, tm}@umich.edu Yumig Zhu, Chaitali

More information

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA

Creating Exact Bezier Representations of CST Shapes. David D. Marshall. California Polytechnic State University, San Luis Obispo, CA , USA Creatig Exact Bezier Represetatios of CST Shapes David D. Marshall Califoria Polytechic State Uiversity, Sa Luis Obispo, CA 93407-035, USA The paper presets a method of expressig CST shapes pioeered by

More information

Graphics (Output) Primitives. Chapters 3 & 4

Graphics (Output) Primitives. Chapters 3 & 4 Graphics (Output) Primitives Chapters 3 & 4 Graphic Output ad Iput Pipelie Sca coversio coverts primitives such as lies, circles, etc. ito pixel values geometric descriptio Þ a fiite scee area Clippig

More information

Project 2.5 Improved Euler Implementation

Project 2.5 Improved Euler Implementation Project 2.5 Improved Euler Implemetatio Figure 2.5.10 i the text lists TI-85 ad BASIC programs implemetig the improved Euler method to approximate the solutio of the iitial value problem dy dx = x+ y,

More information

Why Do We Care About Lighting? Computer Graphics Lighting. The Surface Normal. Flat Shading (Per-face) Setting a Surface Normal in OpenGL

Why Do We Care About Lighting? Computer Graphics Lighting. The Surface Normal. Flat Shading (Per-face) Setting a Surface Normal in OpenGL Lightig Why Do We Care About Lightig? Lightig dis-ambiguates 3D scees This work is licesed uder a Creative Commos Attributio-NoCommercial- NoDerivatives 4.0 Iteratioal Licese Mike Bailey mjb@cs.oregostate.edu

More information

On (K t e)-saturated Graphs

On (K t e)-saturated Graphs Noame mauscript No. (will be iserted by the editor O (K t e-saturated Graphs Jessica Fuller Roald J. Gould the date of receipt ad acceptace should be iserted later Abstract Give a graph H, we say a graph

More information

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition

Introduction to Computing Systems: From Bits and Gates to C and Beyond 2 nd Edition Lecture Goals Itroductio to Computig Systems: From Bits ad Gates to C ad Beyod 2 d Editio Yale N. Patt Sajay J. Patel Origial slides from Gregory Byrd, North Carolia State Uiversity Modified slides by

More information

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria.

Computer Science Foundation Exam. August 12, Computer Science. Section 1A. No Calculators! KEY. Solutions and Grading Criteria. Computer Sciece Foudatio Exam August, 005 Computer Sciece Sectio A No Calculators! Name: SSN: KEY Solutios ad Gradig Criteria Score: 50 I this sectio of the exam, there are four (4) problems. You must

More information

Computer Graphics. Surface Rendering Methods. Content. Polygonal rendering. Global rendering. November 14, 2005

Computer Graphics. Surface Rendering Methods. Content. Polygonal rendering. Global rendering. November 14, 2005 Computer Graphics urface Rederig Methods November 4, 2005 Cotet Polygoal rederig flat shadig Gouraud shadig Phog shadig Global rederig ray tracig radiosity Polygoal Rederig hadig a polygoal mesh flat or

More information

Descriptive Statistics Summary Lists

Descriptive Statistics Summary Lists Chapter 209 Descriptive Statistics Summary Lists Itroductio This procedure is used to summarize cotiuous data. Large volumes of such data may be easily summarized i statistical lists of meas, couts, stadard

More information

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions

Lecturers: Sanjam Garg and Prasad Raghavendra Feb 21, Midterm 1 Solutions U.C. Berkeley CS170 : Algorithms Midterm 1 Solutios Lecturers: Sajam Garg ad Prasad Raghavedra Feb 1, 017 Midterm 1 Solutios 1. (4 poits) For the directed graph below, fid all the strogly coected compoets

More information

Efficient Hough transform on the FPGA using DSP slices and block RAMs

Efficient Hough transform on the FPGA using DSP slices and block RAMs Efficiet Hough trasform o the FPGA usig DSP slices ad block RAMs Xi Zhou, Norihiro Tomagou, Yasuaki Ito, ad Koji Nakao Departmet of Iformatio Egieerig Hiroshima Uiversity Kagamiyama 1-4-1, Higashi Hiroshima,

More information

Algorithm Design Techniques. Divide and conquer Problem

Algorithm Design Techniques. Divide and conquer Problem Algorithm Desig Techiques Divide ad coquer Problem Divide ad Coquer Algorithms Divide ad Coquer algorithm desig works o the priciple of dividig the give problem ito smaller sub problems which are similar

More information

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved.

Chapter 9. Pointers and Dynamic Arrays. Copyright 2015 Pearson Education, Ltd.. All rights reserved. Chapter 9 Poiters ad Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Overview 9.1 Poiters 9.2 Dyamic Arrays Copyright 2015 Pearso Educatio, Ltd.. All rights reserved. Slide 9-3

More information

Improving Template Based Spike Detection

Improving Template Based Spike Detection Improvig Template Based Spike Detectio Kirk Smith, Member - IEEE Portlad State Uiversity petra@ee.pdx.edu Abstract Template matchig algorithms like SSE, Covolutio ad Maximum Likelihood are well kow for

More information

APPLICATION NOTE. Automated Gain Flattening. 1. Experimental Setup. Scope and Overview

APPLICATION NOTE. Automated Gain Flattening. 1. Experimental Setup. Scope and Overview APPLICATION NOTE Automated Gai Flatteig Scope ad Overview A flat optical power spectrum is essetial for optical telecommuicatio sigals. This stems from a eed to balace the chael powers across large distaces.

More information

Appendix D. Controller Implementation

Appendix D. Controller Implementation COMPUTER ORGANIZATION AND DESIGN The Hardware/Software Iterface 5 th Editio Appedix D Cotroller Implemetatio Cotroller Implemetatios Combiatioal logic (sigle-cycle); Fiite state machie (multi-cycle, pipelied);

More information

Data Structures Week #9. Sorting

Data Structures Week #9. Sorting Data Structures Week #9 Sortig Outlie Motivatio Types of Sortig Elemetary (O( 2 )) Sortig Techiques Other (O(*log())) Sortig Techiques 21.Aralık.2010 Boraha Tümer, Ph.D. 2 Sortig 21.Aralık.2010 Boraha

More information

Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram

Lecture 2. RTL Design Methodology. Transition from Pseudocode & Interface to a Corresponding Block Diagram Lecture 2 RTL Desig Methodology Trasitio from Pseudocode & Iterface to a Correspodig Block Diagram Structure of a Typical Digital Data Iputs Datapath (Executio Uit) Data Outputs System Cotrol Sigals Status

More information

Baan Tools User Management

Baan Tools User Management Baa Tools User Maagemet Module Procedure UP008A US Documetiformatio Documet Documet code : UP008A US Documet group : User Documetatio Documet title : User Maagemet Applicatio/Package : Baa Tools Editio

More information

Course Site: Copyright 2012, Elsevier Inc. All rights reserved.

Course Site:   Copyright 2012, Elsevier Inc. All rights reserved. Course Site: http://cc.sjtu.edu.c/g2s/site/aca.html 1 Computer Architecture A Quatitative Approach, Fifth Editio Chapter 2 Memory Hierarchy Desig 2 Outlie Memory Hierarchy Cache Desig Basic Cache Optimizatios

More information

Efficient Hardware Design for Implementation of Matrix Multiplication by using PPI-SO

Efficient Hardware Design for Implementation of Matrix Multiplication by using PPI-SO Efficiet Hardware Desig for Implemetatio of Matrix Multiplicatio by usig PPI-SO Shivagi Tiwari, Niti Meea Dept. of EC, IES College of Techology, Bhopal, Idia Assistat Professor, Dept. of EC, IES College

More information