Association of Lingual Myoarchitecture with Local Mechanics during Swallowing Determined by Magnetic Resonance Imaging by Samuel M. Felton Submitted to the Department of Mechanical Engineering and the Department of Biological Engineering in partial fulfillment of the requirements for the degrees of Bachelors of Science in Mechanical Engineering and Master of Engineering in Biological Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2007 c Massachusetts Institute of Technology 2007. All rights reserved. Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Department of Mechanical Engineering and the Department of Biological Engineering May 11, 2007 Certified by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Richard Gilbert Research scientist, Mechanical Engineering Thesis Supervisor Certified by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Roger Kamm Professor, Mechanical and Biological Engineering Thesis Supervisor Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . John Lienhard Chairman, Department Committee on Undergraduate Students Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bevin Engelward MEBE Program Director 2 Association of Lingual Myoarchitecture with Local Mechanics during Swallowing Determined by Magnetic Resonance Imaging by Samuel M. Felton Submitted to the Department of Mechanical Engineering and the Department of Biological Engineering on May 11, 2007, in partial fulfillment of the requirements for the degrees of Bachelors of Science in Mechanical Engineering and Master of Engineering in Biological Engineering Abstract The tongue is an intricately configured muscular organ, which undergoes a series of rapid shape changes intended to first configure and then transport the bolus from the oral cavity to the pharynx during swallowing. In order to observe the synergistic interactions of the eight different muscles in the tongue, MRI techniques were used to determine the three-dimensional fiber architecture, measure the mechanical function of the tongue during swallow, and relate the two quantitatively to identify fiber contraction. Diffusion Tensor Imaging was applied to the in vivo tongue of five subjects at rest to image the tongue myoarchitecture. The data revealed the complex relationships between extrinsic and intrinsic fibers. Phase Contrast MRI was applied to ten subjects to assess the complex array of mechanical events occurring during the propulsive phase of swallowing. Physiological strain rate data was acquired in 4 and 6 time point series during approximately 3 ml water bolus swallows. Data acquisition was gated to pressure from the tip of the tongue against the hard palate, indicating the beginning of the irreversible late accommodation. This method demonstrated that the propulsive phase of swallowing is associated with a precisely organized series of compressive and expansive strain rate events. Individual subject data sets from both of these methods were then related. The alignment between local fiber direction and the co-located strain rate tensor was quantified by the dot product between the two vectors. Using this technique, the sagittal muscle activity was observed over the course of the swallow. In the first 200 ms after gating, the verticalis and palatoglossus contract in order to form the bolus. From 300-400 ms, the genioglossus contracts, opening the bolus into the throat, while the verticalis and geniohyoid relax. at 500 ms, relaxation throughout the tongue occurs. These data support the concept that propulsive lingual deformation is due to complex muscular interactions involving both extrinsic and intrinsic muscles. Thesis Supervisor: Richard Gilbert Title: Research scientist, Mechanical Engineering Thesis Supervisor: Roger Kamm Title: Professor, Mechanical and Biological Engineering 3 4 Acknowledgments I owe this thesis to a lot of people who’ve helped me reach the end of MIT. Dr. Richard Gilbert for being an excellent advisor in my academic career, as well as mentor and facilitator in my research. His constant enthusiasm helped me achieve more during my time at MIT than I thought possible. Prof. Roger Kamm, for helping me even before I became a graduate student in navigating the program, for his excellent teaching, and sound advice on this thesis. Terry Gaige, my partner in tongue research, for keeping me honest, watching my back, and letting me use his data. Dr. Tim Reese, for putting up with my questions, assisting me repeatedly on the MRI machine, and giving me scanning time so that I could complete this thesis. My brothers at Chi Phi, and my friends at the fort for keeping me sane and lending me their tongues without too many questions. Finally, I thank my parents and my sister Anna. Without their love and support, I would have never achieved this. 5 6 Contents 1 Introduction 11 1.1 Myoarchitecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 Physiology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2 Magnetic Resonance Imaging 15 3 Deriving Myoarchitecture 19 3.1 Diffusion Weighted Imaging . . . . . . . . . . . . . . . . . . . . . . . 19 3.2 Diffusion Tensor Imaging . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.3 Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 3.5 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 4 Deriving Mechanical Strain 29 4.1 Strain Rate Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 4.2 Phase Contrast MRI . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4.2.1 Processing of Phase Contrast Data . . . . . . . . . . . . . . . 33 4.2.2 Validation of phase contrast MRI . . . . . . . . . . . . . . . . 37 4.2.3 Physiological Gating of MR Imaging . . . . . . . . . . . . . . 39 Traditional PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.1 Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.3.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 SER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.3 4.4 7 4.5 4.4.1 Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.4.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5 Relationship of Form and Function 61 5.1 Relating Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.2 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 6 Conclusion 6.1 69 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 A Mathematica: Traditional PC Dicom File Sorting 73 B Mathematica: Traditional PC Processing 85 C Mathematica: SER PC Dicom File Sorting 95 D Mathematica: SER PC Processing 103 E Mathematica: Strain Rate Tracography Processing 115 F Mathematica: PC and DTI processing 121 8 List of Figures 1.1.1 Anatomy of lingual musculature. . . . . . . . . . . . . . . . . . . . . 12 2.0.1 MRI T1 weighted image of the tongue . . . . . . . . . . . . . . . . . . 18 3.4.1 Example of raw DTI data . . . . . . . . . . . . . . . . . . . . . . . . 22 3.4.2 Complete DTI tractography of the human tongue . . . . . . . . . . . 23 3.4.3 DTI tractography of human tongue compared with anatomical drawing (sagittal) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.4 Vertical view of of DTI tractography of human tongue 25 . . . . . . . . 25 3.4.5 DTI tractography of the styloglossus within the human tongue . . . . 26 4.2.1 Raw phase data for generating a single set of unaveraged strain rate tensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2.2 Icon depicting 2D strain rate tensor . . . . . . . . . . . . . . . . . . . 36 4.2.3 Validation of phase contrast MRI as a method to derive local strain rate 40 4.2.4 Mechanism for gating phase contrast MR image acquisition . . . . . . 42 4.3.1 Demonstration of lingual pattern of deformation during bolus propulsion 43 4.3.2 Strain rate patterns exhibited by the tongue during bolus propulsion (sagittal, 4 time points) . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.3.3 Combined lingual mechanical data (sagittal) . . . . . . . . . . . . . . 48 4.3.4 Strain rate patterns exhibited by the tongue during bolus propulsion (coronal) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 4.4.1 Strain rate patterns exhibited by the tongue during bolus propulsion (sagittal, 6 time points) . . . . . . . . . . . . . . . . . . . . . . . . . 9 51 4.4.2 Strain rate tractography of the tongue during bolus propulsion (sagittal) 53 5.2.1 Comparison of two-dimensional and three-dimensional DTI tractography of the human tongue . . . . . . . . . . . . . . . . . . . . . . . . . 63 5.2.2 Fiber-aligned strain rate within the human tongue during bolus propulsion (sagittal) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 5.2.3 Combined fiber-aligned mechanical data (sagittal) . . . . . . . . . . . 65 10 Chapter 1 Introduction The human tongue is a versatile and structurally complex muscular organ that is of paramount importance for the performance of swallowing. During the oropharyngeal swallow, a highly synchronized series of events results in the manipulation and transport of ingested food from the mouth to the esophagus. Following ingestion, food is physically modified through a complex set of actions to constitute a shaped bolus of semi-solid or fluid consistency [22, 38, 48] a process which incorporates tethered motions of the tongue, hyoid bone, and jaw [16, 43, 49, 51, 50]. Once the bolus has been configured, the tongue participates in the creation and optimization of the accommodating cavity by patterned deformation, followed by retrograde propulsion [12] On delivery of the bolus, the pharynx displaces in a superior direction, while the laryngeal aperture occludes, producing a cylinder-like flow chamber [11] Propagating pharyngeal contractions then combine with anterior pharyngeal displacement to produce an orderly flow of the bolus from the pharynx, past the occluded airway and into the esophagus [26, 29, 39]. 1.1 Myoarchitecture The tongue consists of a complex three-dimensional network of skeletal muscle fibers and fiber bundles, involving both intrinsic fibers, i.e. those fibers possessing no direct connection to bony surfaces, and extrinsic fibers, i.e. those fibers possessing 11 Figure 1.1.1: Anatomy of lingual musculature. Anatomical drawings of the tongue derived from Grays Anatomy. (A) Mid-sagittal plane demonstrating complex 3D network of interwoven skeletal muscle fibers involving the intrinsic muscles (transversus, verticalis, and longitudinalis) and the extrinsic muscles (principally the styloglossus, genioglossus, and hyoglossus). (B) Coronal plane (lateral half) obtained through the mid-portion of the tongue displays the core of transversus and verticalis muscles, surrounded by the styloglossus and hyoglossus (lateral) and the longitudinalis (superior and inferior). connections to bony surfaces (1.1.1). The intrinsic musculature consists of a core region of orthogonally-aligned fibers, contained within a sheath-like tract of longitudinally oriented fibers. The intrinsic fibers are delicately merged with extrinsic muscles that modify shape and position from a superior (palatoglossus), posterior (styloglossus), and inferior direction (genioglossus and hyoglossus). Considering the tongue as a continuous material, we have previously used diffusion based MRI techniques to characterize both local (intravoxel) [14, 31, 35, 55]and regional (intervoxel) [15, 13] variations in myofiber alignment. 1.2 Physiology It is generally believed that the direction of skeletal muscle contraction is dictated by the principal orientation of its fibers. While the determination of a muscles principal fiber direction is straightforward in tissues where the fibers are aligned along a single spatial axis, for example, the muscles of the extremities, the process is considerably more complicated in tissues where fibers are aligned along multiple axes, for example, 12 the tongue, heart, and GI tract. The fact that the tongue is constituted by an extensive array of interdigitating fibers contributes to the organ’s almost limitless number of possible deformations. During swallowing, the tongue acts in a series of synergistic configurations to contain and propel the bolus of food, whereas in phonation, the tongue assumes stereotyped conformations that determine vocal tract shape. The determination of tongue mechanics associated with these physiological functions requires an analysis of internal muscle dynamics. Previous studies of tongue mechanics have utilized photographic observation [1], videofluoroscopy [6, 8, 28], videoflouroscopy with ultrafast CT [27], sonography [21, 45, 57], and magnetic resonance imaging. However, due to the redundancy of conformational paths, the explicit muscle contractions of the tongue through external imaging methods. This critical point was the motivation for the current research effort. From a mechanical perspective, the tongue is generally considered to be a variation of a muscular hydrostat, an organ whose musculature both creates motion and supplies skeletal support for that motion [35]. As such, it capitalizes on its high water content, and hence incompressibility, to modify its form, without change in volume. Accordingly, our approach considers that lingual tissue mechanics can best be conceived as a set of discretely coupled units of compression and expansion, whose behavior is predicted by its underlying fiber organization. We have previously employed tagged magnetization MRI, a method analyzing the deforming patterns of an arbitrarily defined set of intramural elements, to assess lingual strain during swallowing [33] and by these results created a model of lingual deformation based on the presence of several fundamental synergisms [36] involving both the intrinsic and extrinsic muscle fibers. This model suggests, for example, that during bolus propulsion the act of retrograde displacement of the tongue is due to contraction of the extrinsic styloglossus and hyoglossus muscles combined with hydrostatic expansion due to bidirectional contraction of the intrinsic transversus and verticalis muscles. Muscular hydrostats so conceived optimize speed and flexibility during deformation by such synergistic activity, while sacrificing force production. By comparison, force produc13 tion may be maximized in non-hydrostatic systems by large moment arms about a joint supported by a bony skeleton. 14 Chapter 2 Magnetic Resonance Imaging Magnetic Resonance Imaging is an imaging technique utilizing the electromagnetic properties of Hydrogen atoms. Protons, electrons and neutrons all possess a fundamental physical property known as spin. Each proton, electron and neutron has a spin of 12 , and atomic nuclei have a spin equal to the sum of the spins of their protons and neutrons. The nucleus of a hydrogen atom (1 H) has a spin of 21 . Because of this, and the fact that heavier atoms are shielded by their electrons, hydrogen is the principle substance imaged by MRI. A particle with a non-zero spin has an induced nuclear magnetic moment µ. ~µ = γ J~ (2.0.1) where γ is the gyromagnetic ratio, which is dependent on the particle. For hydrogen atoms, γ = 42.58MHz/T . In the presence of a magnetic field B, the hydrogen nucleus experiences an interaction energy E. ˙ 0 E = ~µ~B (2.0.2) For nuclei with spin 1/2, the magnetic moment aligns with the external magnetic field parallel, or anti-parallel. The energy difference between these two alignments increases proportional to the strength of the magnetic field. Because the universe tends to lower energy states, more moments will align parallel than anti-parallel to 15 the field. Statistically, the ratio of the two alignments is a Boltzmann distribution. ∆E N− = exp(− ) N+ kT (2.0.3) where k is the Boltzmann constant and T is the temperature, in Kelvin. The difference between the two populations leads to NMR signal. For an observable signal, there must be 1018 more parallel spins than anti-parallel spins. At room temperature and in a 1.5 T field, there is one extra parallel spin for every 105 spins. In 1 ml of water there are 6.7x1022 spins, equating to 6.7x1017 excess parallel spins. This concentration allows for significant signal in human tissue. All of the magnetic dipoles are measured ~, as a bulk magnetization vector M ~ = M X ~µ (2.0.4) which traverses a cone shape in space. The cone’s long axis represents the magnetic field B0 , and the magnetization vector aims out diagonally from one end and precesses around this axis, forming a cone. The precession rate is given by the Larmor frequency, ω0 . ω0 = γH B0 (2.0.5) NMR experiments require that energy input must be near the proton’s Larmor frequency. MRI machines enter energy via Radio Frequency (RF). Therefore, a 1.5 T magnet must be used, since the RF band is 88 - 108 MHz, and the Larmor frequency at that field strength is 63.9 MHz. A pulse sequence is the actual time-dependent combination of magnetic and RF inputs that sample the tissue. A typical pulse sequence consists of a series of RF pulses that create an oscillating magnetic field, which tips the magnetization vector off of the axis of the magnetic gradient. After the RF pulses, the transverse magnetization returns to 0 at a decay rate of time constant T2 which is a property of the imaged material. The longitudinal magnetization relaxes back to M0 at the same time, with time constant T1 . Because T2 relates to a specific material, differences in this value 16 are used to contrast materials in an MR image. T2 must be less than T1 . By applying a magnetic gradient, the larmor frequency varies directly to the gradient according to 2.0.5. Therefore, in a one-dimensional gradient, the signal measured can be related to its position along the gradient by it’s Larmor frequency. The signal is received by a current induced in a wire coil by the precession of the transverse magnetization. These coils can be large, encompassing the entire head, or they can be small, such as surface coils of 3-4 inches diameter, which can be laid on a specific region of the body for greater signal. Typical MR images are produced by applying two orthogonal magnetic gradients, and applying a two-dimensional Fourier transform to the signal received. The magnitude of the signal at a particular frequency is proportional to the signal, and therefore amount of water, at the equivalent point along the gradient. each gradient location acts as one coordinate of a two-dimensional plane. 2.0.1 is a typical T1 weighted MR image of the human tongue. The brightness is a function of signal intensity and the density of water. The tongue shows up as white because of its high water content, while the oral cavity is black because it is filled with air. The signal is much higher in the center of the image because surface coils are being used, which accomplish a high sensitivity, but have a limited range. Various other effects of magnetic fields and RF pulses can be applied in the pulse sequence to sample different information from the tissue. Two of these methods will be explored in the following sections: Diffusion Tensor Imaging, and Phase Contrast. 17 Figure 2.0.1: MRI T1 weighted image of the tongue A typical T1 weighted image of the tongue aquired via MR imaging. Brightness indicates the concentration of water within each voxel. 18 Chapter 3 Deriving Myoarchitecture The myoarchitecture of any muscle is critical in understanding how the muscle functions. The tongue’s myoarchitecture is especially intriguing because it relies on crossing fibers to provide skeletal stability, and the complex interactions of the muscles that allow large number of static and dynamic configurations. Diffusion Tensor Imaging was used to visualize these structures in three-dimensions. The bulk direction of a local population of fibers can be determined by the direction in which local diffusion is occurring. These diffusion vectors are then connected to adjacent, similarly aligned vectors via tractography, to create tracts that represent mesoscale fiber populations. 3.1 Diffusion Weighted Imaging Diffusion describes the random motion of molecules, and occurs in materials of all phases. To visualize the complex myoarchitecture of the tongue this experiment employed MRI sensitized to the directionality of water diffusion[44, 30]. Diffusion weighted imaging has the capacity to resolve anisotropic particle movement, and thus infer fiber organization at a voxel scale in biological tissue[3, 19, 20, 32, 58]. Because water flows more freely within cells than through cell membranes, cylindrical cells will exhibit more diffusion along the long axis than perpendicular to it. This diffusion anisotropy can be measured. The anisotropy of water diffusion in skeletal muscle in particular has been demonstrated and anatomically validated[5, 24, 25, 54, 7]. 19 3.2 Diffusion Tensor Imaging Diffusion Tensor Imaging (DTI) samples diffusion within a structure in several different directions to determine the direction of maximum diffusion, and therefore the orientation of cylindrical fibers. DTI uses a diffusion sensitive spin echo pulse sequence. Diffusivity data is recovered by dephasing and then rephasing the transverse magnetization within a magnetic field gradient. This causes an echo of the transverse magnetization, so that only the T2 decay and any gross motion along the gradient do not rephase completely. The loss of phase coherence results in the attenuation of MRI signal, and the apparent diffusion coefficient. Aquiring this value in several directions allows the calculation of a three-dimensional second-order tensor in each voxel known as the apparent diffusion tensor. The largest principal eigenvector of this tensor is reveals the direction of greatest diffusion. These diffusion vectors are then connected via tractography[17, 18] into mesoscale structures. Tracts originate at every voxel, and continue parallel to the diffusion vector of the voxel it is passing through. A tract will continue to an adjacent voxel as long as the adjacent voxels’ diffusion vectors are similarly aligned (within 35◦ ). 3.3 Protocol Diffusion weighted images used a twice-refocused spin echo DTI pulse sequence with TR = 3 s, TE = 80 ms, field of view 192 mm x 192 mm, 24 slices, 3 mm slice thickness, in 90 gradient directions with b-value 500 s/mm2 . Each voxel was 3x3x3 mm. The entire pulse sequence took approximately 5 minutes, during which the subject was asked to remain as motionless as possible. Data was acquired using a 1.5 Tesla Siemens Avanto whole-body scanner equipped with two custom-built surface coils, approximately 150mm2 in area, placed on each cheek and gently secured with tape. 20 3.4 Results Tractography images were created from the DTI dataset obtained for each subject. The images in this paper are derived from a single subject, and are representative of the data acquired for all 5 subjects. Partially transparent, low b-value, magnitude images are displayed for anatomical reference and to distinguish between tracks closer and further away from the point of view. The color-coding for the tracts is the same in all images, regardless of the slice orientation, and is as follows: green indicates tracts in the anterior-posterior direction, red indicates tracts in the transverse direction, and blue indicates tracts in the superior-inferior direction. The raw image data is displayed in 3.4.1. Panels A-C are sagittal and co-located. Panels D-F are axial and co-located. A typical T1 weighted image is shown in panels A and D. 0 b value EPI images are displayed in panels B and E. These are used as comparisons for diffusion weighted images, and 15 are taken during the pulse sequence. Diffusion weighted EPI miages are displayed in panels C and F. Regions that are darker relative to he 0 b value images indicate higher level of diffusion along the magnetic gradient. The complete lingual muscle DTI tractography overlaid with three orthogonal low b-value magnitude images is shown in 3.4.2 from an oblique perspective (A) and from the superior (B) and left lateral (C) directions. Individual muscles were identified primarily by their insertion points into the tongue. These muscles integrate complexly inside the tongue. The thick green band running along the lateral edge of the tongue and around the anterior tip, originates on either side from the styloid process, and represents the styloglossus (sg). The blue verticalis (v) can be seen curving up and in at the anterior-superior region of the tongue. The hyoglossus (hg) and part of the genioglossus (gg) originate at the hyoid bone, inferior to the tongue. The genioglossus is partially obscured by the other muscles, because of its interior location, but it is the largest extrinsic muscle in the tongue. The palatoglossus (pg) originates superior to the tongue in the soft palate and curves laterally and anteriorly where it blends with the superior longitudinalis. The inferior longitudinalis (il) is visible, but difficult 21 Figure 3.4.1: Example of raw DTI data Sagittal and Axial images are displayed of a typical anatomical pulse sequence (A and D), a 0 b value EPI (B and E), and a diffusion weighted EPI (C and F). In the diffusion weighted EPI, darker regions within the tongue body indicate greater diffusion along the diffusion gradient. to discern because it merges with the extrinsic muscles at the surface. In order to demonstrate the ability of DTI to discern muscles within the tongue, an anatomical drawing of the tongue is compared to a three-dimensional DTI tractography reconstruction from the same viewpoint. The genioglossus (gg), styloglossus (sg), hyoglossus (hg), geniohyoid (gh), and inferior-longitudinalis (il) are all recognizable on the DTI from the drawing. The genioglossus can be seen fanning out from the mandible. Near that point, the geniohyoid is also anchored, and extends in the posterior direction. Not shown on the anatomical drawing are the verticalis (v) and the palatoglossus (pg). The styloglossus approaches from the rear and merges with the inferior longitudinalis as it passes the hyoglossus. 6 vertical images of a 3-D DTI tractography reconstruction are displayed in descending order in 3.4.4. The verticalis (v) is visible curving in from the lateral edges and up in the upper half of the tongue. The palatoglossus (pg) can be seen in the posterior lateral edges, curving out and around in the top two slices. The superior longitudinalis (sl) can be seen in the mid22 Figure 3.4.2: Complete DTI tractography of the human tongue Diffusion Tensor Imaging was used to sample the tongue architecture, and the resulting vectors were connected via tractography. The three-dimensional result was visualized and colored so that longitudinal fibers were green, transverse fibers were red, and vertical fibers were blue. A) displays an oblique view of the tongue. B) displays a superior view of the tongue. C) displays a left sagittal view of the tongue. Distinct and visible muscle groups were labeled: genioglossus (gg), hyoglossus (hg), inferior longitudinalis (il), palatoglossus (pg), styloglossus (sg), and verticalis (v). Dimensions [64,64,24]. 23 sagittal plane oriented axially in the top slice, and the inferior longitudinalis (il) at the tip of the tongue, curving upwards. The genioglossus fans through slices B-E, and can be seen oriented axially in these slices. The hyoglossus (hg) arcs around the inferior of the tongue transversely in slices D-F, and the geniohyoid (gh) arcs from the lateral edge of the mouth around the anterior tip of the tongue. Both the hyoglossus and geniohyoid appear to merge at the point where they join to the hyoid bone. 3.4.5 illustrates how the styloglossus inserts into the tongue and merges with adjacent muscles by isolating the associated tracts. Symmetric tract groups originating in the lateral edges of the lingual core bundle together and pass adjacent to each other as they leave the body of the tongue. The greener tracts within the body of the tongue, which appear to represent the inferior longitudinalis (il), progressively merge with the bluer tracts of the verticalis (v) forming a continuous spectrum within the tongue but separate into distinct muscles as they exit. Previous anatomical descriptions have not made this observation. The most posterior of the verticalis (v) plunge medially of the styloglossus (sg) where, in some subjects, the fibers then merge with the hyoglossus. Finally, notice how the palatoglossus (pg) sweeps in from above where it aligns with the superior longitudinalis and ensheaths the lingual core. 3.5 Discussion The tongue is an interesting subject for three-dimensional structural analysis because of the complex relationships shared by both extrinsic and intrinsic fibers. The utility of diffusion based MRI for resolving structure-function relationships for the human tongue during physiological motion is based largely on its ability to resolve these intricate fiber relationships. In order to apply diffusion based anatomical imaging in vivo, we elected to use an approach combining multiple gradient direction DTI with tractography. While lacking the ability to resolve intravoxel crossing fibers[53], complete DTI tractography scans can generally be completed in a small fraction of the time required for DSI with equivalent voxel size and max b-value settings. The use of multiple gradient directions lengthens scan time, but necessarily improves SNR. 24 Figure 3.4.3: DTI tractography of human tongue compared with anatomical drawing (sagittal) Comparison of an anatomical drawing of the tongue with a DTI image taken in vivo. Both images are taken from a left sagittal viewpoint. A) displays a Grey’s anatomy image of the tongue, labeling the genioglossus, geniohyoid, hyoglossus, inferior longitudinalis, styloglossus, and verticalis. B) displays the DTI tractrography visualization of the tongue, labeling the genioglossus (gg), geniohyoid (gh), hyoglossus (hg), inferior longitudinalis (il), palatoglossus (pg), styloglossus (sg), and verticalis (v). Figure 3.4.4: Vertical view of of DTI tractography of human tongue Six 12 mm thick vertical slices of the tongue are displayed from a DTI tractography visualization, from superior (A) to inferior (F). Dimensions [64,64,24]. 25 Figure 3.4.5: DTI tractography of the styloglossus within the human tongue An oblique view of the styloglossus and adjacent muscle tracts are displayed. The tracts of the styloglossus were isolated within a three-dimensional reconstruction of the DTI tractography visualization of the tongue in vivo. The verticalis (v) fibers plunge medially of the green styloglossus (sg), though the muscles appear to form a continuous spectrum along with the inferior longitudinalis (il) in the body of the tongue. Dimensions [64,64,24], selected ROI [center at x = 37, y = 21, and z = 17, radius 4.25], track length thresholds [15 mm 140mm]. 26 Furthermore, DTI tractography should have the capacity to resolve intervoxel crossing in offset planes and non-crossing fibers at a scale that coincides with the practical dimensions of physiological shape changes, such as occur during swallowing. The current results display for the first time the use of DTI tractography in vivo to visualize the complete structural anatomy of the human tongue. These results validate DTI tractography as an effective means for observing tongue anatomy, as they confirm that the tongue is a core of orthogonally crossing intrinsic fibers, which merge with extrinsic fibers. DTI tractography also reveals details about the architecture, as follows: 1. The genioglossus distributes in a fan-like manner throughout the body of the tongue and merges with the intrinsic verticalis muscles in the anterior tongue. The transverse distribution of the genioglossus is notably wider in the posterior tongue as compared with the anterior tongue, suggesting perhaps a greater role in the formation of the accommodating concavity necessary for bolus formation during the swallow and for promoting lingual rotation during propulsion. 2. The prominent styloglossus fibers merge specifically with the inferior longitudinalis fibers while coursing long the lateral edges and finally encircling the anterior tip of the tongue. This suggests a very important role of the styloglossus not only for promoting gross retrograde displacement during bolus propulsion, but for controlling the more subtle variations of tongue shape needed for some aspects of early accommodation and speech. 3. The styloglossus rotates at the point of its insertion into the tongue, forming a spectrum within the tongue of variably oriented fibers involving the extrinsic fibers originating both posterior and inferior to the body of the tongue, and the longitudinally and vertically aligned intrinsic fibers. The functional implications of this relationship are not known. In conclusion, DTI tractography is capable of measuring the complex internal architecture of the tongue, including the integration of extrinsic and intrinsic fibers. 27 28 Chapter 4 Deriving Mechanical Strain The mechanical function defines the motion of the tongue, and is critical to understanding the swallow, a complex and reflexive series of precise shape changes. In order to observe these movements, The local material strain rate of the tongue tissue was measured using Phase Contrast (PC) MRI. This data was interpreted into a time-series of two-dimensional strain rate tensor fields, and overlaid on a tongue image to determine the locations of the activities. 4.1 Strain Rate Theory Strain is the displacement of a material relative to its initial length. Typically, static strain in a two-dimensional plane is expressed as a symmetric two-by-two array consisting of axial and shear strain components ǫij = ǫxx ǫxy ǫyx ǫyy It can also be expressed as a field of rank 2 tensors; each tensor containing the two principal strain vectors ǫprincipal . The principal strain vectors represent the axial strains in the orthogonal coordinate plane in which the shear strain is 0. This plane 29 can be determined using Mohr’s circle: ǫxx + ǫyy + ǫ1 = 2 ǫxx + ǫyy 2 ǫ12 = ǫxy cos2θ − cos2θ + ǫxy sin2θ ǫxx + ǫyy 2 cos2θ (4.1.2) (4.1.3) where x and y represent the initial Cartesian axes, ǫ1 is axial strain in a Cartesian coordinate frame arbitrarily rotated θradians, andǫ1 is the shear strain in that same system. In the coordinate frame where ǫ12 = 0 ǫprincipal ǫx + ǫy ± = 2 s ǫx − ǫy 2 2 + (ǫxy )2 (4.1.4) These principal vectors are also the same as the eigenvectors of the Cartesian strain matrix. Within an isovolemic material such as the tongue, strain has an additional constraint. Because the material cannot change volume, for every strain in one direction, there must be a reactionary strain in one or two transverse directions to maintain a constant volume. For small values of strain ǫ1 + ǫ2 + ǫ3 ≈ 0 (4.1.5) where 1,2, and 3 designate any three orthogonal vectors. This means that for every principal strain, there is at least one other co-located principal strain that has the opposite sign. It should be noted that in our experiments, only two-dimensions are measured, so that while orthogonal, opposite-signed strains are common, it is also possible that the reactionary strain is occurring transverse to the image and cannot be measured. The isovolemia allows intelligent assumptions about three-dimensional strain rate based off of two-dimensional measurements. Because the tongue is symmetric about the mid-sagittal plane, it can be assumed that z-plane shear stress is 0, and the third 30 principal eigenvector is perpendicular to the sagittal plane. ǫ ǫ 0 xx xy ǫij = ǫyx ǫyy 0 0 0 ǫzz Therefore, ǫz can be assumed to be equal to −(ǫ1 + ǫ2 ). Strain within the sagittal plane can be caused by transverse contractile events, as well as in-plane events. This relationship must be kept in mind when analyzing two-dimensional mid-sagittal strain rates. (4.1.6) 4.2 Phase Contrast MRI Phase contrast (PC) MRI determines the local (single voxel) velocity function by applying a phase gradient followed by a canceling (decoding) phase gradient, then deriving local motion by phase shift exhibited by the resulting MR images along the gradient vector [9, 40, 56]. PC MRI then uses echo planar imaging (EPI) as a fast imaging sequence to capture the data. An example of raw magnitude and phase data is displayed in 4.2.1. In the top row are shown the four individual magnitude images taken with the four encoding gradients (at the same spatial resolution as the phase images below). The bottom row displays the corresponding phase images, with white representing a phase shift of +180◦ and black representing a phase shift of −180◦ . The shading gradient is proportional to the change in strain in the direction of the phase gradient. The tongue exhibits varying levels of phase contrast, consistent with varying strain rates, whereas the relatively small gradient within the brain indicates minimal to no strain rate. The snowy pattern around the head is indicative of random phase data and is consistent with a low signal area. It should be noted that the region of the middle tongue in which black borders on white does not indicate a steep phase gradient, but suggests that the phase has rolled over from +180◦ to −180◦ a condition assumed by the strain rate algorithm to possess the smallest possible phase difference. 31 During PC MRI, velocity encoding is typically applied in 4 quadrilateral directions:(x, y, z), (-x,-y, z), (x,-y,-z), (-x, y,-z) and strain rate determined by the difference in velocities between adjacent voxels distributed throughout the sampled slices of tissue. The strain rate tensor is over specified by taking measurements in four quadrilateral directions, thus canceling out artifacts and other effects on the phase unrelated to velocity. During deformation, strains near each point in the material can be linearly approximated by the strain tensor, given by a 3 3 matrix. There are several advantages to the use of phase contrast methods to assay material strain during rapid physiological motions: 1) PC MRI provides motion sensitivity that can be set to high values by adjusting the gradient pulse intensities. Thus phase contrast data have near perfect motion specificity and may be analyzed by automated schemas. Combining phase contrast with single-shot image acquisition significantly strengthens the quality, sensitivity, and specificity of phase contrast data by excluding the influence of variable motion across multi-shot acquisitions that otherwise would be amplified by strain calculation. 2) In contrast to tagged magnetization, PC MRI provides a basis for the acquisition and analysis of 3D strain. This, however, requires an increase in the number of strain encoding axes and thus requires slightly longer acquisition times (due to reduced sensitivity) and exhibits some algorithmic fragility. While magnetic susceptibility artifacts resulting in spatial distortions may occur during the course of oral cavity imaging due to the fact that acquisitions must be performed at air-tissue interfaces [41], these effects appear to be relatively small at the edges of the lingual tissue [12] imaged in vivo and are not detectable in the interior of the tissue [33, 34, 35] where strain rate measures are performed. Individual phase-contrast images were determined to have a signal-to-noise ratio (SNR) of 48.5. Simultaneous Echo Refocusing (SER) PC imaging allows multiple slices to be imaged simultaneously by sampling voxels from alternating slices. In normal MR images, the imaged plane is chosen by a single-slice selective RF pulse. SER uses a sequence of selective RF pulses, separated by defocusing pulses so that each slice has a different phase history. In this way the data is multiplexed. The signal from the different slices are refocused simultaneously, to reduce the gradient duty cycle and 32 Figure 4.2.1: Raw phase data for generating a single set of unaveraged strain rate tensors Shown are a set of 4 magnitude (upper row) and associated 4 phase images (lower row) specific for each gradient direction in the case of a single time point (0 ms, trigger point). Each strain rate tensor image requires four scans, encoded with four different gradient vectors, embodying a magnitude image and a phase image. The four 1-D strain rate arrays are combined into one 2-D strain-rate array. Note the contrast between the high strain phase images of the tongue, characterized by gradual shade gradients, the low strain phase images of the brain, characterized by little or no shade gradients, and the low signal areas outside of the head, characterized by the random, snowy phase. dead time. 4.2.1 Processing of Phase Contrast Data Strain was calculated employing an unsupervised and objective algorithm (Appendices A-B) developed in Mathematica. In this paper all strains are represented as Lagrangian. To determine strain rate per voxel, the difference of phase between voxels at location (i, j) was calculated: (ai+1,j+1 − ai,j+1 ) + (ai+1,j − ai,j ) δai,j = δx 2 (4.2.1) δai,j (ai+1,j+1 − ai+1,j ) + (ai,j+1 − ai,j ) = δy 2 (4.2.2) 33 where ai,j is the phase at voxel (i,j) and x and y are the principle orthogonal directions oriented longitudinally and vertically, respectively. Four voxels were used instead of two so that x-strain tensors and y-strain tensors would be calculated for the same location. The SNR was improved by averaging over 10 data sets, and weighting the strain-rate data by the strength of the magnitude in the following manner: s X k=1 Min(mi,j,k , mi+1,j,k , mi,j+1,k , mi+1,j+1,k ) × δai,j δx = k δai,j δx (4.2.3) where mi,j is the magnitude at voxel (i,j), n is the number of sets being averaged, and k is the designator for one of the n sets being averaged. Weighted averaging ensured that noise from images with weak signals was removed from the data. To determine the difference in velocity, the phase difference must be processed with the velocity encoding (VENC). VENC determines the phase gradient applied during the pulse sequence, and has units cm/sec/cycle. A smaller VENC provides greater sensitivity, but is incapable of measuring larger velocities due to rollover. Rollover occurs when the accumulated phase shift of a moving material is greater than 180◦ , and cannot be distinguished from a smaller velocity in the opposite direction. The difference in velocity over the length of the voxels, L defines the strain rate, δǫ . δt δǫap = δt δa V δp ENC (4.2.4) L where p represents any principle vector x, y, or z, ǫap = ua , p and ua is the material dis- placement along vector a. The relation between the four equilateral gradient vectors, a, b, c, and d, and the two principle vectors, x and y, is: δǫxp = δt δǫap δǫbp δǫcp δǫdp + − − δt δt δt δt δǫyp = δt δǫap δǫbp δǫcp δǫdp − + − δt δt δt δt × × √ 3 4 √ 3 4 (4.2.5) (4.2.6) The orthogonal dimensions were translated into principle strain vectors with no shear strain. First, rotational strain was removed by separating the symmetric and asym34 metric strain tensors, as follows [60]: δǫpq δVp = δq δt (4.2.7) T = ▽V (4.2.8) where V is the local velocity vector field of the material, and p and q represent any principle vectors. The strain rate tensor field, T, can be separated into symmetric, S, and anti-symmetric, A, components: T =S+A= T − TT T + TT + 2 2 δVx δx 1 S = [▽V + (▽V )T ] = 1 δVx 2 ( + 2 δy δVy ) δx (4.2.9) y 1 δVx ( + δV ) 2 δy δx δVy δy (4.2.10) The symmetric tensor represents stress and strain, while the anti-symmetric tensor represents local rigid body rotation. The principle strain vectors were then found using Mohrs circle. In order to represent the local strain rate tensor for each voxel, the principle strain rates for the tissue contained in each voxel were rendered as 2D icons (4.2.2). For this study, strain rate was represented graphically using rhombi with their long dimension parallel to a strain rate eigenvector and the length proportional to its magnitude. The width of each rhombus was arbitrarily set proportional to the length for the purpose of visualization. For each voxel, two orthogonally aligned rhombi were generated representing the primary strain rate vector, δǫ1 , δt defined as that vector with the greatest magnitude, and the secondary strain rate vector, δǫ2 , δt whose magnitude was smaller and aligned orthogonal to the primary strain rate vector. In the current study, we employed the convention that blue indicates a positive principle strain rate, consistent with expansion, and that red indicates a negative principle strain rate, consistent with compression. It should be noted that compressive and expansive principle strain rates present in a given voxel may or may not be equivalent in magnitude, although the hydrostatic condition requires that their sum be zero if there 35 Figure 4.2.2: Icon depicting 2D strain rate tensor The orthogonal principle strain rates, reflective of the material strain in each voxel, are displayed in the form of 2 orthogonal rhombi. In each instance, the length and orientation of the larger rhombus is defined by the magnitude and direction of the primary strain rate δǫδt1 (width is arbitrarily displayed proportional to the length for improved visualization). The smaller rhombus is overlaid orthogonal to the larger rhombus and possesses length and orientation defined by the secondary strain rate δǫ2 . By convention, if a rhombus is blue, the strain rate represented is positive δt (expansion) and if a rhombus is red the strain rate is negative (compression). In the example shown in this figure, the primary strain rate tensor is compressive and represented as a red rhombus whereas the secondary strain rate tensor is expansive and represented as a blue rhombus possessing a magnitude of 60% as large as the primary strain rate tensor. is no strain in through plane direction. Each rhombus was overlaid in the correct position on the magnitude images of the tongue during the propulsive image sequence. While each voxel constitutes a unique strain rate tensor, mechanical analysis of mean deformation of voxel arrays was also performed. This approach provides adequate signal-to-noise to allow quantitative comparisons to be made between subjects as a function of location and temporal position in the swallow. Regions of the tongue were delineated from sagittal phase contrast images and comparisons made of mean magnitude of compressive and expansive strain rates. The regions consisted of the following: Region 1: Superior-posterior tongue, comprising the distributions of the 36 posterior genioglossus, verticalis, and transversus muscles, and points of insertion for the styloglossus and hyoglossus, Region 2: Superior-middle tongue, comprising the middle genioglossus, verticalis, and transversus muscles, Region 3: Superior- anterior tongue, comprising the anterior genioglossus and verticalis and transversus muscles, and Region 4: Inferior-middle tongue, comprising ;largely the distributions of the inferior genioglossus and hyoglossus muscles. The image sizes defined by regions 1, 2, and 3 were approximately 100 voxels, whereas the image size defined by region 4 was approximately 50 voxels. The explicit boundaries of these regions were arbitrarily defined, acknowledging the continuous nature of lingual fiber myoarchitecture. Comparisons were made of the mean ± standard deviation of strain rate amplitude between regions within each time point of duration 54 ms (0, 200, 400, and 600 ms following application of the lingual trigger) and between time points for a single region. Statistical comparisons were obtained employing the students T test, with significance assigned at p ¡ 0.05. 4.2.2 Validation of phase contrast MRI In order to validate the method for deriving local strain rate from PC MRI, we tested the current MRI pulse sequence and method of analysis during deformation induced by a synchronized mechanical plunger apparatus (24) in a phantom gelatinous material (4% Agar). This system assays local compression and expansion in the phantom following forced compression of the material by the plunger at varying rates of displacement. Similar to the case of the tongue, the gel density is constant, i.e. the material is incompressible, and thus the trace of the strain tensor must always be zero. However, the gelatinous material is different from the tongue since it is a purely isotropic material, and thus all local compression will be balanced by expansion in the case of each voxel. The deformation of a hydrostatic muscle, such as the tongue, is controlled by local anisotropic elements, i.e. muscle fibers and fiber arrays, which by their combined contraction and relaxation produce local compression and expansion. Nonetheless, this method provides a way to verify the basic tenets by which local phase shifts are translated into material properties, i.e. local compression and expansion. 37 The experiment was run on a 1.5 Tesla Siemens Avanto magnet with an echo time (TE) of 80 ms, a repetition time (TR) of 650 ms, and VENC of 10 cm/sec. Voxels were 5x5x5 cm3 . The plunger apparatus has a sinusoidal period of 750 ms, and a stroke length of 0.6 cm. xp = 0.6 ∗ sin(2πt/0.75) (4.2.11) The motor sends a 5 V trigger impulse to at a single, arbitrary point during its cycle. Single acquisitions are taken in 25 ms intervals for a total of 30 strain rate images. The data in ?? displays the localized strain rate of the gel at three times during the plungers cycle. When the plunger is not in contact with the gel, no significant strain rate patterns are measured. This is consistent with the assumptions of a static system. The line of vertical compression on the right side of the plunger is probably due to edge effects between the gel and the air. During the downward-moving portion of the cycle, a consistent strain pattern of vertically oriented compression underneath the plunger, along with orthogonal expansion due to the isovolemic properties of the gel. During the upward-moving portion, an equal but opposite pattern of vertically oriented expansion occurs under the plunger, accompanied by orthogonal compression. Vertical local strain rates were measured through the axial center of the gel. Theoretically, the sum of the strain rates below the plunger should be equivalent to the velocity of the plunger, vp . vp −v0 = (v1 −v0 )+(v2 −v1 )+. . .+(vp −vp−1 ) = δǫp δǫ1 δǫ2 ∗L (4.2.12) + + ...+ δt δt δt Where vn is the velocity at the nth voxel from the bottom of the gel, ǫn is the strain at the nth voxel from the bottom of the gel, and L is the distance between adjacent voxels. The expected value of vp is vp = ∆xp 0.6 ∗ sin(2π(0.08)/0.75) = = 4.66cm/sec. ∆t 0.08 (4.2.13) The plunger velocity measured by PC MRI (vm ) was 4.23cm/sec, resulting in an error 38 percentage of 7%. Sources of error in this measurement include an imprecise gating mechanism, so that the plunger was not measured at the point of maximum strain rate, and noise at the surface of the material, due to air [12, 41]. Since the strain is largest in the gel at the plunger surface, the discontinuity of the medium could contribute significant error to the results. These observations substantiate that the strain rate derived from phase contrast MRI, as defined above, is representative of the local compressive and expansive events associated with local material deformation. 4.2.3 Physiological Gating of MR Imaging Given the spatial and temporal complexity of the mechanical events associated with swallowing and the one-dimensional nature of conventional phase contrast data, gating is needed to temporally align the resulting mechanical information. While superior temporal precision would result from cine MR image acquisition [46], obtaining multiple phase contrast MR images following a single gating pulse was not feasible. Owing to the fact that propulsion is principally reflexive once initiated we elected to tether MR image acquisition to lingual pressure applied to the hard palate through a pressure-sending bulb at the approximate outset of the propulsive phase [37, 42]. The device configuration is portrayed in 4.2.4. A small (3 cm length) tongue bulb (Iowa Oral Performance Instrument, [28] Blaise Medical) was placed immediately behind the front teeth and on the tip of the subjects tongue. The bulb was connected via 15 m of 1/16 ID tubing to a pressure sensor, from which output was acquired and analyzed by Labview software. The peak pressure occurring secondary to tongue pressure against the bulb was recorded and a 5V output signal triggered when a threshold pressure (approximately 0.35 PSI) was achieved. Acknowledging that there is likely to be variation between subjects in the pressure applied by the tongue during swallow initiation, the exact pressure threshold was derived for each subject by determining the voltage threshold immediately preceding the swallow in 4-8 test swallows, then setting the voltage threshold to 0.01 V below the smallest peak achieved in the test swallows. While the interval between the time of initial tongue contact with the sen39 Figure 4.2.3: Validation of phase contrast MRI as a method to derive local strain rate In order to validate the method by which local strain rate tensors are derived from PC MRI, we employed a mechanical plunger apparatus to induce compressive or expansive deformation in a gelatinous phantom material. The plunger consists of hemispherical plastic device whose position is controlled by a stepper motor, and which can be lowered or raised relative to the gel at a rate of 1 Hz and a stroke length of 1.2 cm. Strain rate was derived from local phase contrast as described in the Methods and the resulting primary and secondary strain rate tensors are depicted as rhomboid icons for each voxel. The diagrams displayed in the upper row depict the plungers position relative to the gel before contact (A), during a downward stroke (compression) (B), and during an upward stroke (expansion) (C). The images displayed in the lower row depict the strain rate vectors within the gel before contact (D), during the downward stroke (E), and during the upward stroke (F). A consistent field of vertical compression can be seen below the plunger during the downward stroke, accompanied by orthogonal expansion due to the gel’s isovolemic nature. An analogous field of vertical expansion can be seen below the plunger during the upward stroke, accompanied by orthogonal compression. The strain rate icon displayed for scale in the lower left of each image represents 0.20 s−1 . 40 sor and the achievement of threshold pressure varied slightly between subjects, the interval between the time at which threshold pressure was obtained and the initiation of lingual displacement (and the coordinated initiation of MR scanning) was ¡ 0.1 second and highly reproducible. It is conceivable that the presence of the bulb in the oral cavity may cause a deviation from the natural positioning of the tongue, and thus induce compensatory mechanical actions. In addition, the resistance provided by the bulb may modify the natural strain patterns exhibited by the tissue during the course of swallowing. While in preliminary experiments, the bulb was easily positioned by subjects by placing one edge of the bulb against the teeth resulting in tongue tip displacement, there was a small amount of accommodative lingual deformation and superior hyoid displacement as a function of bulb positioning in the anterior oral cavity ( 4.2.4 C). The effect of this pre-swallow accommodative effect could not be systematically assessed in the current protocol since the presence of the intra-oral device was essential to the acquisition of MR data. 4.3 4.3.1 Traditional PC Protocol Each subject swallowed 2.5 ml of water 4 times to compile a complete set of strain data at one time interval in two slices. The water was delivered via a subject-controlled syringe attached to rubber tubing that inserted into the side of the subjects mouth.10 sets of strain data were then averaged together in each image, and 4 different time intervals were sampled, resulting in a total of 160 swallows per subject to create complete data set of 4 time intervals and two adjacent slices. We also point out that our method incorporates an internal control for subject fatigue, that is, the magnitude of the pressure applied to the intra-oral bulb during the course of the swallow. Interestingly, by this measure, our subjects did not demonstrate any evidence of fatigue during the course of these trials. In these experiments, the volume observed was comprised by 2 slices; each is made up of a set of 3x3x3 mm3 voxels, located 41 Figure 4.2.4: Mechanism for gating phase contrast MR image acquisition A swallow based MR acquisition gating system was developed to provide a basis for precise temporal sequencing and spatial registration, based on the pressure applied by the tongue to a sensing bulb (Blaise Medical) situated against the hard palate at the outset of late accommodation. Upon achieving threshold pressure, a 5 V signal is elicited which triggers MR acquisition. A) Photograph of system components, consisting of a small (3 cm length) tongue bulb in series via 1/16 ID tubing with a pressure transducer whose output is directed to Labview hardware/software and a pressure driven 5 V trigger signal elicited. B) Block diagram of system components, C) Magnitude MR images of the tongue in the absence of (a) and the presence of the gating bulb (b) indicating accommodative lingual deformation and hyoid displacement as a function of bulb position. D) Pressure tracing (upper) induced by the tongue applied to the hard palate via the sensing bulb and the threshold for eliciting an electrical trigger pulse (lower tracing). 42 Figure 4.3.1: Demonstration of lingual pattern of deformation during bolus propulsion Sequence of magnitude MR images intended to demonstrate the characteristic pattern of lingual deformation associated with propulsion of the liquid bolus from the oral cavity to the pharynx. 80 magnitude images were acquired per time point, and averaged together to create an image of the tongue at four time points during swallowing, 0, 200, 400, and 600 ms following trigger pulse application. The pocket of low signal located in the anterior-superior oral cavity is the tongue bulb employed for recording lingual pressure applied to the hard palate, whereas the pocket of low signal in the posterior-superior oral cavity represents the approximate position of the liquid bolus (shown with an asterisk in each image). adjacent to and on the left and right of the mid-sagittal plane. The application of each velocity encoding pulse was elicited by a 5 V electrical signal triggered by tongue pressure on the hard palate. Acquisitions occurred at 0, 200, 400, and 600 ms from the elicitation of the trigger point. The pulse sequence is similar to the one used by Tseng et al [52]. Specific imaging parameters included: echo time 54 ms, repetition time 274 ms, and VENC 0.67 cm/s/cycle. One acquisition was performed in each slice per swallow, and acquisitions alternated between the two slices. The effective repetition time for a particular slice was never less than 3 seconds, and determined by the speed at which the subject could comfortably swallow repeatedly. The technique was validated over 13 subjects, whereas quantitative gated phase contrast data was obtained in 5 subjects (3 males, 2 females). Data was acquired using a 1.5 Tesla Siemens Avanto whole-body scanner equipped with two custom-built surface coils, approximately 150mm2 in area, placed on each cheek and gently secured with tape. 43 4.3.2 Results Experiments were performed to assess the local strain rate function occurring in the tongue musculature during the propulsive phase of swallowing. Strain rate was derived from the phase differences recorded within temporally sequenced MR images, and the resulting strain rate tensors superimposed in the form of quantifiable icons on the magnitude images of the tongue during deformation. Inasmuch as strain rate values are provided in Lagrangian terms, they have units of s−1 . Thus zero defines an absence of strain, while a strain rate that would increase the length of the material by 100% per second may be represented as 1 s−1 . We demonstrate in 4.3.1 the prototypical bulk motion of the tongue during the propulsive phase of a 2.5 ml water bolus swallow. The image sequence shown depicts the magnitude images acquired during a period of time sufficient to complete the propulsive action (generally 600 ms). The images display the averaged intensity of the complete set of magnitude images at each time point for a representative subject, with brightness proportional to signal intensity. The position of the pressure sensing bulb is shown as a signal void in the anterior oral cavity, whereas the approximate position of the water bolus is detected as a signal void in the posterior oral cavity. The strain rate tensors were calculated from the phase contrast data and overlaid on the magnitude images as icons during a 2.5 ml water bolus swallow. We display in 4.3.2 (single subject) and 4.3.3 (all sagittal subjects combined) the strain rate sequence at 0, 200, 400, and 600 ms following the application of the gating pulse. The data at each time point was measured in 54 ms, but acquisitions were limited to 4 time points and 200 ms resolution to allow sufficient averaging without overexerting the subject. We employ throughout a convention of blue icons representing expansive strain and red icons representing compressive strain (see Methods), with the orientation of each strain rate icon aligned with the primary and secondary strain rate vectors and the length of each strain rate icon proportional to the magnitude. This approach allows us to quantify strain rate per voxel and for designated voxel arrays. Acknowledging the continuous nature of the tongue musculature, individual strain rate icons are displayed, although the 44 association of the icons with the distribution of known muscles, i.e. genioglossus, styloglossus, etc. is also noted when appropriate. The pattern of strain rates occurring during lingual propulsion exhibited a combination of compressive and orthogonally commensurate expansive events distributed throughout the tissue. At the point of gating pulse elicitation, there were 4 prominent strain rates observed: 1) Compressive strain (maximum measured compression was 0.33 s−1 ) aligned obliquely between the anterior-inferior and the posterior-superior regions of the tongue, with commensurate expansion in the same orientation limited to the posterior-superior region of tissue. These strain rate vectors were coincidental with the alignment of the anterior and posterior distributions of the genioglossus muscle. 2) Compressive strain (maximum measured compression was 0.40 s−1 ) aligned obliquely between the anterior-superior to the posterior-inferior regions (exactly orthogonal to the above noted compressive strains), with commensurate expansion in the posterior superior region of the lingual tissue. 3) Vertically aligned compressive strain (maximum measured compression was 0.45 s−1 ) located in the approximate distribution of the palatoglossus and orthogonal to the surface of the bolus, combined with expansive strain (maximum measured expansion was 0.45 s−1 ) tangent to the bolus. These latter effects are likely to represent commensurate expansion orthogonal to the palatoglossus and passive effects of the bolus itself. The net effect of these events is the containment and positioning of the bolus in the posterior oral cavity. 4) Compressive strain (maximum measured compression was 0.36 s−1 ) in the posterior-inferior region of the tissue directed obliquely to the styloid process, which is likely to represent passive compression due to contraction of the contractions of the laterally-inserted styloglossus. At 200 ms, there were considerably more modest amounts of compressive (maximum measured compression was 0.41 s−1 ) strain aligned obliquely between the anterior-superior and the posterior inferior regions of the tissue, with commensurate orthogonal expansion (maximum measured expansion was 0.30 s−1 ) in the posterior region, along with vertically and obliquely aligned compressive strain (maximum measured compression was 0.29 s−1 ) in the posterior-superior tissue. At 400 ms, there was prominent compressive strain (maximum measured compression was 0.63 s−1 ) occurring in the middle and posterior 45 Figure 4.3.2: Strain rate patterns exhibited by the tongue during bolus propulsion (sagittal, 4 time points) Strain rate tensors were derived in a sagittal image slice using PC MRI for a set of voxels comprising the tongue during the propulsive phase of swallowing of a 2.5 ml water bolus. Each image was compiled by averaging two slices, comprising ten sets of strain rate data each, acquired from 80 swallows total. Principle strain rates within each voxel are shown graphically as rhombi with a long axis parallel to the principle strain vector, and length proportional to the magnitude of the strain rate. For each voxel, 2 orthogonally aligned rhombi may be represented for the primary and secondary strain rate. Shown in this figure is a sequence of 4 images obtained from a single subject at A) 0, B) 200, C) 400, and D) 600 ms from the application of the gating pulse. The strain rate icon displayed for scale in the lower left of each image represents 0.33 s−1 . 46 tissue regions and aligned obliquely between the anterior-inferior and the posteriorsuperior regions of the tongue (consistent with contraction of the genioglossus and styloglossus) with commensurate orthogonal expansion (maximum measured expansion was 0.38 s−1 ) and vertically aligned expansion (maximum measured expansion was 0.48 s−1 ). At 600 ms, there was expansive strain aligned in three identifiable orientations (maximum measured expansion was 0.38 s−1 ), obliquely between the anterior-inferior and the posterior-superior regions, obliquely between the anteriorsuperior and posterior-inferior regions, and vertically in the mid and posterior regions of the tissue. In order to resolve the mechanical events associated with transverse directed strain, we acquired 2 coronal images (anterior and posterior tongue) at 0 and 400 ms following the gating pulse (4.3.4). The exact location of the slice in each instance is shown in the magnitude images (insert). In general, the strain events showed sagittal symmetry and a predominance of strain (compressive and expansive) in the posterior tongue at the 400 ms time point. At this time point, in the anterior tongue image, the following was observed: 1) prominent mid-line compressive strain (maximum strain rate 0.29 s−1 ) in the inferior portion of the tissue along with commensurate expansion in the superior portion of the tissue, 2) oblique and transverse compression (maximum strain rate 0.39 s−1 ) consistent with bi-directional contraction of the core intrinsic muscles and commensurate orthogonal tissue expansion. At this same time point, in the posterior tongue, the following was observed: 1) obliquely aligned compressive strain in the lateral and inferior portion of the tissue (maximum strain rate 0.23 s−1 ), consistent with contraction of the hyoglossus, 2) oblique, vertical, and transversely aligned compression in the middle and superior portions of the tissue (maximum strain rate 0.24 s−1 ) with orthogonal expansion, consistent with contraction of the transversus and verticalis fibers. 47 Figure 4.3.3: Combined lingual mechanical data (sagittal) The mean expansion (blue) and compression (red) for 3 subjects, comprising 30 acquisitions total, in the x and y-directions (sagittal orientation) in four different regions of the tongue were graphed separately, as displayed in the reference image. The regions consisted of the superior-posterior (1), superior-middle (2), superior -anterior (3), and inferior-middle (4) and were empirically selected based on patterns of strain rate observed. Comparisons were made of the mean ± standard deviation of strain rate amplitude between regions at a single time point which was 0, 200, 400, and 600 ms following application of the lingual trigger pulse (displayed as †) and between different time point for a single region (displayed as ). 48 Figure 4.3.4: Strain rate patterns exhibited by the tongue during bolus propulsion (coronal) Strain rate tensors from a single subject were derived by PC MRI during a 2.5 ml water bolus swallow, and displayed at 0 and 400 ms in 2 coronal image slices from the anterior and posterior tongue. Each image was compiled by averaging two slices, comprising ten sets of strain rate data each, acquired from 80 swallows total. Upper row: mid-sagittal image slice. Middle row: anterior coronal slice. Lower row: posterior coronal slice. The slice location for each strain tensor images is shown in the left column. These results demonstrate that the early posterior directed compressive strains (0-200 ms) are followed at 400 ms by compressive strains directed along the direction of the tranversus and the vertically aligned genioglossus and verticalis fibers. The latter mechanical events possess close temporal correlation with the major component of retrograde expansion characteristic of the propulsive phase. The strain rate icon displayed for scale in the lower left of each image represents 0.33s−1 . 49 4.4 SER Based on the results of our traditional PC experiments, the next step was identified as enhancing the temporal scale of our imaging. Patients were demonstrating significant strain rate events. However, the temporal placement and relative magnitude of these events was variable, suggesting that the sequence of these events occurred on a scale less than 200 ms. In addition, the number of swallows was exhausting to our subjects. Simultaneous Echo Refocusing (SER) PC imaging allows multiple slices to be imaged simultaneously by sampling voxels from alternating slices. This, in addition to other changes to the protocol, was done in order to improve on our previous experiments. The Mathematica code was slightly modified, and can be seen in Appendices C-D. 4.4.1 Protocol 6 time points (0, 100, 200, 300, 400, and 500 ms after gating) were sampled, and time point was averaged from 5 data sets of 4 swallows each, for a total of 120 swallows. The gating system used was the one outlined above. The TE/TR was 80/1000 ms, and the VENC=1 cm/sec/cycle. 4 subjects (3 male, 1 female), ages 21-24, in good health and with no complications, were measured. 4.4.2 Results 4.4.1 displays the strain rate events at 6 time points, overlaid on the corresponding averaged magnitude images. Each strain rate vector is displayed as a rhombi with long axis aligned to the vector, and length proportional to its magnitude. Blue means expansion, and red means contraction. Each time point was sampled over 80 ms. The figure demonstrates a series of interacting strain rate events through the approximately 600 ms imaged. At 0 ms (A), there is compression occurring obliquely, radiating from the bolus to the lower left and lower right. These events are consistent with contraction of the palatoglossus and verticalis. In addition, there is expansion oriented superior-posterior, which could be due to orthogonal expansion of the palatoglossus tissue, or pulling of the styloglossus. At 100 ms (B) These events 50 Figure 4.4.1: Strain rate patterns exhibited by the tongue during bolus propulsion (sagittal, 6 time points) Strain rate tensors were derived in a sagittal image slice using PC MRI for a set of voxels comprising the tongue during the propulsive phase of swallowing of a 3 ml water bolus. Each image was compiled by averaging two simultaneous slices, comprising five sets of strain rate data each, acquired from 20 swallows total. Principle strain rates within each voxel are shown graphically as rhombi with a long axis parallel to the principle strain vector, length and hue proportional to the magnitude of the strain rate, and color indicating expansion (blue) or compression (red). For each voxel, 2 orthogonally aligned rhombi are representative for the primary and secondary strain rate. Shown in this figure is a sequence of 6 images obtained from a single subject at A) 0, B) 100, C) 200, D) 300, E) 400, and F)500 ms from the application of the gating pulse. The strain rate icon displayed for scale in the lower left of each image represents 0.33s−1 . 51 are ongoing, but their magnitude is smaller. At 200 ms (C), most of these events have disappeared, but there is still small compressive events in the anterior-superior area, along the verticalis, and in the posterior-inferior area, consistent with the hyoglossus. 300 ms (D) displays large oblique compression consistent with contraction of the genioglossus, as well as orthogonal expansion. There is also compression consistent with hyoglossus contraction. 400 ms (E) shows a similar compression consistent with the genioglossus, as well as expansion along the verticalis. The bulk structure shows the bolus opening into the throat. 500 ms (F) shows expansion throughout the tongue, including along the genioglossus, hyoglossus, and verticalis. To quantitatively relate the local strain tensors into continuous mechanical events, tractography was applied to the compressive and expansive strain rate vectors to create strain rate tracts (Appendix E). These tracts were visualized and overlaid on their corresponding magnitude images at 6 time points (4.4.2). At 0 ms (A) strain rate tracts extend from the bolus obliquely to the anterior of the tongue, and inferior, along the general path of the verticalis and palatoglossus, respectively. In addition, there are orthogonal expansion tracts throughout the tongue. At 100 ms (B) There are similar tracts emanating from the bolus, but the anterior fibers are have moved up to a longitudinal orientation, and the posterior tracts extend farther to the inferior tongue. 200 ms (C) shows similar tracts again, but the vertical tracts have more variation, possibly as the intrinsic muscles begin to reconfigure, and the tip of the tongue is contracting vertically as well as horizontally. At 300 ms, obliquely-aligned strain rate tracts originate in the anterior-inferior portion of the tongue where the mandibular attachment of the genioglossus is located, and fan out in the posterior and superior directions, consistent with contraction of the genioglossus. There are additional compressive tracts consistent with geniohyoid (anterior inferior, obliquely aligned), the hyoglossus (posterior inferior, obliquely aligned) and palatoglossus (posterior superior, vertically aligned). 400 ms (E) shows similar tracts as at 300 ms, including compressive tracts aligned with the genioglossus, geniohyoid, and hyoglossus. The bolus can be seen opening into the throat. 500 ms (F) shows expansive strain tracts through most of the tongue, as well as obliquely oriented strain in the 52 Figure 4.4.2: Strain rate tractography of the tongue during bolus propulsion (sagittal) Strain rate tensors were derived in a sagittal image slice using PC MRI for a set of voxels comprising the tongue during the propulsive phase of swallowing of a 3 ml water bolus. Each image was compiled by averaging two simultaneous slices, comprising five sets of strain rate data each, acquired from 20 swallows total.Adjacent and similarly aligned (angle difference less than 35◦ ) strain rate vectors are connected via tractography. Any strain rate line reaching a connected voxel continues through that voxel, along the new voxels vector direction. anterior of the tongue (possibly verticalis contraction) and the inferior of the tongue (possibly hyoglossus contraction). 4.5 Discussion The tongue is a structurally complex muscular organ, which is responsible for the manipulation and transport of food in the oral cavity during swallowing. Through a series of precisely timed shape changes, the tongue first configures and then propels the ingested bolus of food from the oral cavity to the pharynx. Conceiving the basis for lingual deformation during swallowing requires an understanding of how the organ 53 moves in relation to extrinsic structures, such as the jaw and hyoid bone, as well as the underlying relationship between intramural structure and function. In order to conceptualize the vast array of mechanical operations associated with lingual deformation, we have considered the tongue as a muscular hydrostat, a muscular structure defined by its ability both to create motion (via tissue displacement) and provide the skeletal support for that motion (via elongation and stiffening) [43, 42]. The mammalian tongue is a particularly interesting form of hydrostat since its deformations are predicated on the contractions of both intrinsic and extrinsic muscle fibers merged structurally and functionally within the body of the tongue. The designation of the tongue as a muscular hydrostat infers several important properties, namely the coexistence of orthogonally aligned muscle fiber populations which contract synergistically to generate physiological motion and the conceptualization of the tissue as an array of contiguous elements producing varying degrees of compressive or expansive strain. We have previously studied lingual mechanics during prototypical deformations, i.e. protrusion and bending, and during swallowing with tagged magnetization MRI [33, 34]. This method quantifies local strain by tracking the deformation of a 2D grid of saturated magnetic bands superimposed on the MR image. By this approach we assayed the lingual musculature during each of the cardinal phases of the swallow, namely early accommodation (bolus held in the anterior oral cavity), late accommodation (bolus transferred to the posterior oral cavity), and propulsion (bolus propelled retrograde from the oral cavity to the pharynx). These experiments, combined with the results of our previous work [12, 29], allowed us to consider several postulates regarding lingual deformation during the swallow: 1) The containment of the bolus during early accommodation results from a synergistic contraction of the anterior genioglossus, combined with the contractions of the hyoglossus, verticalis, and transversus muscles. 2) The posterior shifting of the bolus during late accommodation results from an increase in inferior directed strain located in the posterior tongue and is related principally to contractions of the hyoglossus and genioglossus muscles. 3) The prototypical deformation of the tongue occurring during propulsion results from the effects of posterior directed contraction of the styloglossus and possibly bidirectional 54 contraction of the transversus and verticalis muscles [47]. It should be noted that contraction of the styloglossus alone could not generate expansive strain above its insertion point, in the mid-portion of the tongue’s lateral surfaces since the tongue is constrained from below. These results illustrate an important limitation in the use of tagged magnetization in the study of lingual mechanics, namely the inability to resolve spatially complex and dynamic 3D strain fields. To address this issue, we modified a technique previously applied to the study of cardiac mechanics, gated phase contrast MRI, or PC MRI [9, 10, 23, 56] to characterize lingual mechanical function. From a practical perspective, velocity encoding is applied in 4 directions and strain rate derived from the difference in velocity between adjacent voxels for each gradient direction. This latter requirement, in combination with the relatively low MR signal intensity resulting from velocity encoding, provides the rationale for image gating to achieve temporal reconstruction. In contrast to prior approaches for temporal reconstruction of the swallow employing superficial EMG recordings [39], we employed in this study a novel method to gate MR acquisition based on the signal resulting from peak lingual tip pressure applied to the hard palate through an intra-oral pressure-sensing bulb during early propulsion. We demonstrated in preliminary studies that the interval between the achievement of threshold lingual pressure and the initiation of the propulsive deformation is quite short (¡ 0.1 sec) and highly reproducible. This form of MR gating provides both timed MR acquisitions as well as a method for accurate retrospective sequencing of the images acquired. It should be acknowledged however that lingual pressure-gated swallows may differ from physiological swallows due to the presence of the bulb in the anterior oral cavity and the effects of the bulb on pre-swallow lingual mechanics. These effects include a small, but significant, effect on lingual shape and superior hyoid displacement, which may itself be accentuated by the fact that subjects were required to maintain a supine position in the MRI scanner apparatus. While important, these effects were largely mitigated by the facts that the pressure exerted by the bulb on the surface of the tongue was negligible, as indicated by the relatively small amount of air displaced from the bulb relative to 55 the air within the tubing, and the space occupied by the bulb was largely eliminated by the pressure applied by the tongue to the hard palate through the intra-oral bulb. Lastly, our previous studies have demonstrated the capacity of subjects to swallow repeatedly in this position. Thus, while effects of bulb presence and subject position on swallow mechanics are unavoidable, these effects should be relatively small during the active phases of deformation. Through the application of gated phase contrast MRI, we studied the mechanisms involved in the genesis of rapid lingual reconfiguration during propulsion. Our traditional results demonstrate that: the propulsive phase of swallowing is associated with a tightly organized series of compressive and expansive events occurring within a period of approximately 600 ms. In the initial portion of the propulsive phase (images obtained at the time of gating pulse application and 200 ms from the gating pulse). we observed the following events: 1) obliquely aligned compressive and expansive strain in the approximate fan-like distribution of the genioglossus, 2) vertically aligned compressive strain consistent with passive compression secondary to palatoglossus contraction and active compression secondary to verticalis contractions combined with orthogonal expansion, 3) compressive strain aligned obliquely between the anterior-superior to the posterior-inferior regions with commensurate expansion in the posterior superior region, effects possibly related to passive compression due to laterally inserted contraction of the hyoglossus, and 4) compressive strain aligned obliquely and directed to the styloid process. The latter may reflect passive compression due to the laterally inserted fibers of the styloglossus or active compression secondary to more medially inserted fibers. The combined effect of these mechanical events is the effective re-configuration of the tongue prior to posterior displacement. Lingual deformation during the latter portion of the propulsive phase (images obtained at 400 and 600 ms from the gating pulse) appeared to involve prominent compressive strain occurring in the mid and posterior region of the tissue obliquely aligned between the anterior inferior and posterior superior regions of the tissue, suggestive as well of the distribution of the genioglossus with commensurate orthogonal expansion, along with bidirectional contraction in the approximate distribution of the 56 intrinsic core fibers and expansion in the anterior-posterior orientation. Interestingly, this expansive phase coincided precisely with the delivery of the flattening of boluscontaining concavity and the apparent delivery of the bolus to the pharynx. Despite some intersubject variation in the precise timing of compressive and expansive strain rates, these general patterns were exhibited by all subjects, thus substantiating the postulate that the cardinal lingual motions are a due to mechanical interactions of the intrinsic and extrinsic muscles. The SER results confirm the validity and conclusions of the traditional PC technique, while revealing new details. The swallow beyond tongue tip pressure on the hard palate consists of three phases: a bolus formation phase, during which there is compression surrounding the bolus, in the region of the verticalis and palatoglossus, consistent with pulling of the tongue surface downwards to create an indentation. This lasts for 100-200 ms, depending on the subject. There is then oblique compression along the genioglossus, and expansion in the verticalis and palatoglossus. During this period, the bolus opens into the throat. This phase lasts 100-200 ms as well. After the bolus moves into the throat, expansion occurs throughout the tongue, suggesting that the tongue is relaxing after delivery of the bolus. The bulk configuration of the tongue at this point is approximately 20 mm shorter. The strain tracts indicate that strain rate patterns are coordinated mesoscale events throughout the tongue. Compression surrounding the bolus during the formation phase continues along aligned strain rates through the depth of the tongue. Compression in the verticalis curves vertically from the mid-anterior of the tongue to a posterior direction in the superior tongue. Compression in the genioglossus connects in strain rate tracts to a concentrated posterior point mandible, and extends outward in a fan-like pattern, merging with compressive events occurring in the hyoglossus and palatoglossus. Strain rate events occur through the tongue in synergistic relationships. This approach constitutes a significant advance over previous techniques since it provides a method to assay simultaneously the rates of compression and expansion during physiological motion. This technique may potentially be combined with measures of underlying lingual myoarchitecture, thus constituting a method by which the 57 rate and direction of fiber shortening can be determined. We previously considered the proposition that propulsive lingual deformation is associated with a combination of internal stiffening and hydrostatic elongation resulting from the bidirectional contraction of the transversus and verticalis muscles combined with retracting force applied by the laterally inserted styloglossus [33]. We have now extended this conceptualization of tongue deformation to include a more complex sequence of material strains (compression and expansion) involving the various segments of the genioglossus muscle, tight integration of extrinsic and intrinsic strain behavior, and passive elements of compressive and expansive strain related to contractions not included in the particular imaging slice i.e. styloglossus and hyoglossus, and secondary mechanical events imposed by the tongues inherently isovolemic conditions. It should be recognized that the exact timing of the events described may vary somewhat with prior descriptions of lingual deformation due to the presence of the bulb in the oral cavity and changes in lingual shape and mechanics before the initiation of the observed sequence. The extension of phase contrast MRI, previously applied to determine cardiac strain, to imaging the mechanical function of the tongue during swallowing contained several technical challenges, owing to the fact that the tongue is both structurally and mechanically more complex than the heart. By establishing a method of MRI gating associated with threshold lingual pressure applied to the hard palate during late accommodation, and by adopting a velocity encoding for the highly variable strain rates exhibited by the tongue with minimal artifact attributable to the air-tissue interface in the oral cavity, we were able to achieve reliable strain rates involving the tongue during swallowing. However, several limitations of this approach should be acknowledged. While generally consistent mechanical patterns were exhibited, some of the events shown were quite variable. By our analysis of this variability, it may be that precise time where certain mechanical events occurred varied subtly but significantly between subjects, an issue which could become even more important in the case of pathological tongue motion. We anticipate accordingly that future studies may thus require considerably greater temporal resolution. A second limitation was the need to resolve transverse planar strain separate from anterior-posterior planar 58 strain. While the high degree of mechanical symmetry and coherent strain rate patterns exhibited by the tongue indicate that we are accurately measuring strain rate in the tongue, there are theoretical limitations for resolving complex intravoxel strain patterns, which would be helped through the use of techniques capable of acquiring 3D strain rate directly. We should also acknowledge that since our current approach is directed to resolving internal tissue strains, it does not have sufficient resolution to accurately determine surface deformation or possess appropriate contrast to visualize bolus displacement [2, 4, 39, 59]. Thus the relationship between internal strain and physiological bolus manipulation can not be measured directly with the current techniques. We conclude that gated phase contrast magnetic resonance imaging can be adapted with appropriate gating to assay the tongues internal strain events associated with bolus propulsion. Our results demonstrate that bolus propulsion may be attributed to a synergistic sequence of compressive and expansive mechanical events involving both the intrinsic and extrinsic muscles, whose net effect is the orderly delivery of the ingested bolus from the oral cavity to the pharynx. 59 60 Chapter 5 Relationship of Form and Function The myoarchitecture of the tongue has been thoroughly explored, and the mechanical function of the tongue during swallowing has been extensively measured. However, the form and function have not been quantitatively related. In order to determine the key physiological interactions between the muscles explicitly, the time-dependent contraction functions are derived by relating local fiber direction and the co-located strain rate tensor. 5.1 Relating Data Contraction or relaxation of a uni-directional fiber population in an isotropic material will result in a parallel compressive or expansive strain rate. While the tongue is significantly more complex, and strain rates can be due to co-located or adjacent fiber populations acting on the tissue indirectly, significant muscle activity will often result in co-located strain rates parallel to the active fibers. To solve quantitatively for these parallel strain rates, the DTI and PC images were first lined up visually, in reference to their magnitude images, so that each DTI voxel had a corresponding co-located PC voxel. The aligned strain rate is computed as the dot product between the diffusion vector and each principal strain rate vector. ~ ǫ˙ · ~ v = ǫ̇aligned 61 (5.1.1) The full Mathematica code used is in Appendix F. 5.2 Results Two-dimensional DTI tractography images were created by finding the component of each diffusion vector within the mid-sagittal (x-z) plane. These vectors were then connected via the tractography methods described earlier (maximum angle connection 35◦ ). In 5.2.1, A three-dimensional DTI tractography image (A) is compared to a two-dimensional interpretation of DTI tractography (B), created by finding the mid-sagittal component of the diffusion vectors. In both images, green indicates longitudinal tracts, blue indicates vertical tracts, and red indicates transverse tracts (nonexistent in the two-dimensional interpretation). The major mid-sagittal muscles are similar in both images. Both contain a verticalis in the interior of the tongue, a fan-like genioglossus beginning at the mandibular connection and expanding posteriorly, and a geniohyoid. In 5.2.2 two-dimensional tractography for one subject is shown at 0 ms - 500 ms after the gating signal. The fibers are colored according to the dot product of the unit diffusion tensor and the co-located strain rate vector. At 0 ms (A), Compression can be seen in the fibers representing the verticalis and the palatoglossus, as well as expansion in the genioglossus. This expansion could be due to the contraction of the styloglossus in the superior-posterior of the tongue, pulling on the genioglossus, or orthogonal expansion related to contraction of the palatoglossus. 100 (B) and 200 (C) ms show similar strain rate events, but in slowly decreasing magnitude. At 300 ms (D) compression in the palatoglossus continues. Compression also occurs throughout the genioglossus and expansion in the geniohyoid and verticalis, likely relaxation of contraction. 400 ms (E) shows continued compression in the genioglossus and expansion in the geniohyoid and verticalis, as well as a bulk longitudinal shortening of the tongue, as the bolus opens into the throat. 500 ms (F) shows expansion throughout the tracts, along with isolated voxels of compression in the verticalis and the genioglossus. In 5.2.3, the fiber-aligned strain rates within the genioglossus and the verticalis 62 Figure 5.2.1: Comparison of two-dimensional and three-dimensional DTI tractography of the human tongue Two-dimensional diffusion vectors were measured via DTI MRI and connected into mesoscale structures via tractography. These tracts represent the mid-sagittal fiber architecture of the tongue. The hue of these tracts represents the magnitude of the co-located strain rate tensors and their alignment with the diffusion vectors. Strain rate tensors were derived in a sagittal image slice using PC MRI for a set of voxels comprising the tongue during the propulsive phase of swallowing of a 3 ml water bolus. Each image was compiled by averaging two simultaneous slices, comprising five sets of strain rate data each, acquired from 20 swallows total. 63 Figure 5.2.2: Fiber-aligned strain rate within the human tongue during bolus propulsion (sagittal) Two-dimensional diffusion vectors were measured via DTI MRI and connected into mesoscale structures via tractography. These tracts represent the mid-sagittal fiber architecture of the tongue. The hue of these tracts represents the magnitude of the co-located strain rate tensors and their alignment with the diffusion vectors. Strain rate tensors were derived in a sagittal image slice using PC MRI for a set of voxels comprising the tongue during the propulsive phase of swallowing of a 3 ml water bolus. Each image was compiled by averaging two simultaneous slices, comprising five sets of strain rate data each, acquired from 20 swallows total. 64 Figure 5.2.3: Combined fiber-aligned mechanical data (sagittal) The average fiber-aligned strain rates within the fiber groups identified as the genioglossus and the verticalis were graphed over the 6 time points. Data represents measurements of 5 data sets from each of two subjects, for a total of 10 data sets. The genioglossus shows a trend of 0.05 s−1 expansion at 0-100 ms to a maximum compression of -0.25 s−1 at 300 ms. The verticalis starts with a maximum compression of -0.15 s−1 , and reaches a maximum expansion of 0.3 s−1 at 400 ms. of two subjects are graphed over 6 time points of the swallow. The strain rate in the genioglossus starts with an expansion of 0.05 s−1 for 0-100 ms during the swallow, and then switches to compression, with a maximum of -0.25 s−1 at 300 ms. This compression coincides with propulsion of the bolus and opening of the throat. at 500 ms, it returns to an expansion of 0.05 s−1 . The difference between the strains at 100 ms and 300 ms was statistically significant (p<0.07). The strain rate within the verticalis is compressive for 0-200 ms, starting at -0.15 s−1 . This period is concurrent with formation of the bolus and pressure of the tongue tip on the hard palate. From 300-500 ms, the verticalis exhibits expansion, with a peak of 0.3 s−1 at 400 ms. The difference between the strains at 200 ms and 400 ms was statistically significant (p<0.05). 5.3 Discussion The tongue’s structural complexity gives rise to several interactions between different fiber groups. By observing the strain rate function of the tongue related to the underlying architecture, the interplay of these muscles can be observed explicitly. 65 The quantitative fiber-aligned strain rate data provides significant advantages over the DTI tractography data standing alone. Because the tongue has at least 8 different muscles, there is significant redundancy in how the muscles could activate to achieve particular deformations. A static image of the tongue architecture reveals the many ways in which the tongue could form itself, but does not show how it actually happens. The fiber-aligned strain rate data reveals the time-sensitive interactions of the fiber tract populations during swallowing. In addition, the fiber-aligned strain rate data provides information that is unavailable to the strain rate functions via Phase Contrast alone. Strain rates reveals how the tongue deforms when shaping and then propelling the bolus. However, the contractile events causing the deformations can only be assumed. By measuring how these strain events align with the architecture, the contractile events can be determined. The results reveal that bolus formation and propulsion is the result of synchronized contraction among several fiber populations within the tongue. The observations include three significant activities within the tongue: 1. Formation of the bolus occurs within the first 200 ms after the gating pulse, and is due to contraction of the verticalis and palatoglossus. During this time, the genioglossus extends, due to pulling from the styloglossus, or orthogonal contraction of the verticalis and palatoglossus. 2. The bolus is propelled to the throat, and opens into the throat 300-400 ms after the gating pulse. This is due to contraction of the entire genioglossus. During this time, there is expansion in the verticalis and palatoglossus, due to both relaxation and orthogonal compression. 3. At 500 ms, there is expansion along all fiber tracts, with isolated voxels of compression. The bolus has already entered the throat, suggesting that the tongue is relaxing from it’s deformed state. Limitations still exist within this technique. Without an EMG or similar measurement technique to monitor within the individual fibers, it is impossible to prove whether each aligned compressive event is the result of contraction, or a passive effect from some other mechanical action. In addition, the DTI tractography data 66 used as a template for the mechanical events is captured when the tongue is at rest. During the swallow, the architecture will change its conformation. The technique also has limited range: Currently only the mid-sagittal slice can be imaged, with two-dimensional strain rate tensors. To capture the complete contractile events, full, three-dimensional strain rate functions must be measured. However, the technique as it stands is capable of revealing contractile events within the field of view. In conclusion, the technique of quantitatively relating PC strain rate data with DTI fiber tractography is capable of observing and measuring contractile events within the tongue and other muscles. The data has shown that the human swallow comprises several synchronous muscle contractions to form and propel the bolus, which alter the shape of the tongue to achieve bolus delivery. 67 68 Chapter 6 Conclusion The initial purpose of this work was to establish the validity of fiber tracts as a mesoscale structure within the tongue. Tracts are an artificial grouping of adjacent and similarly-aligned fibers, but are effective in separating muscles in a complex structure such as the tongue. It was determined that muscle function must be measured in order to observe if, and how tracts functioned as units. Phase Contrast was chosen because of its high sensitivity and capacity for three-dimensional measurement, but as a relatively new MR technique, it required a large amount of effort to bring it to bear on the tongue. While there were limitations, the technique was successful in capturing complex two-dimensional strain rate events within the tongue. By observation, they appeared to have a relationship to certain muscles within the tongue, but these were only observations. In addition, inter-subject variability was high, even while intra-subject variability was relatively low. This suggests that the mechanical events are more complex than the current protocol is capable of discerning. In order to quantitatively relate the data, the dot product between diffusion vectors and co-located strain rate vectors provide both a means for observing function and form at the same time, and also an indication of which muscle fibers are acting. This method does not prove which muscles are activating, because the complex architecture provides many redundancies for motion. It does, however, provide valuable insight into how this complex muscular architecture operates, as well as a strong indication about which muscle groups take part in swallowing, and when. 69 6.1 Future Work The work within this thesis represents a novel medical imaging methodology. The results were achieved by combing two relatively new imaging methods (DTI and PC MRI) in a geometrically rigorous way to achieve a new level of interrogation within the anatomy and physiology of the tongue. Because of its immaturity, several aspects of the technique are still in development. There are three aspects of this work which should be pursued to realize its full potential: Improvement of the MRI techniques, application on other muscles, and use in clinical analysis. Diffusion Tensor Imaging revealed the largest muscle groups, and several aspects of their complex integration. However, DTI can only identify the direction of the largest fiber population within each voxel. Significant regions of the tongue have two or more locally crossing fiber populations. Diffusion Spectrum Imaging (DSI) is a technique similar to DTI in that it measures diffusion along several gradients to determine local structure. DSI, however, can identify multiple crossing fiber populations by measuring several local diffusion maxima within a voxel. A structural model with colocated crossing fibers would give greater understanding of how a complex muscular hydrostat like the tongue stiffens and moves. Our Phase Contrast techniques could also be improved with respect to temporal resolution and spatial range. Temporally, 80 ms is needed for a single data acquisition using PC SER. However, based on the variations between subjects, it appears that a smaller acquisition window is needed to fully determine the mechanical function of the tongue. Spatially, three-dimensional phase contrast is possible, but could not be harnessed within the tongue by us at this time. An improvement of this technique, combined with more slices to capture the entire tongue, would allow us to measure the strain rates along every fiber population of the tongue. While the tongue is structurally the most complex muscle, this technique could reveal information about several others. Both DTI and PC MRI have been applied to the heart; the data from the two techniques has not, however, been related as thoroughly as in this thesis. The esophagus is another muscle with structural and 70 mechanical complexity that our lab plans on investigating with this technique. When these improvements have been completed, the technique could be used to clinically analyze adverse muscular conditions in patients. Muscular dystrophy, strokes, and heart attacks could be observed using this technique to determine the extent of the effect, and develop solutions such as medical devices. 71 72 Appendix A Mathematica: Traditional PC Dicom File Sorting (*AMathematicaDicomIdownloadedforfree. http : //bmia.bmt.tue.nl/Software/Mathematica/AddOns/Packages/index.html*) << MathDCM`MathDCM` (*The variables for where I put the files*) TimDir = "Gilbert33" filenumber = "07021325" (*I suggest finding these numbers using the DICOM image viewer that comes with the*) (*data.Rememberthatregularscanslikelocalizerare1set, butPCdataistwosets.Amagset, *) (*andaphaseset.Ideclarethenumberofthemagsets.Thisprogramwillextractonepairof*) (*timepoints, forinstance0and200ms, ifyoutaketwotimepointsandslicestogether.*) goodsets = {69, 71, 73, 75, 77, 79, 81, 83, 85, 87}; (*Declaring where I put the files*) SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] thenames = FileNames[]; tot = Length[thenames]; j = 1; (*Find Magnitude Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; 73 i++] (*Separate Magnitude Files*) CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] (*Find Phase Files*) n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] (*Separate Phase Files*) CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] (*Sort Magnitude Files*) SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] (*Sort Phase Files*) SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] 74 SetDirectory[TimDir] SetDirectory[filenumber] j = 2; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, 75 RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 3; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] 76 SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 4; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, 77 RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 5; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] 78 SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 6; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n 79 CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 7; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], 80 {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 8; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] 81 n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 9; n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] 82 CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] j = 10; n = 1; 83 For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++] CreateDirectory["setm" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] n n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++] n CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++] SetDirectory["setm" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] SetDirectory[ParentDirectory[]] SetDirectory["setp" <> ToString[j]] setnames = FileNames[]; For[i = 1, i < 17, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++] 84 Appendix B Mathematica: Traditional PC Processing Off[General::spell1] (*Dicom File Location*) TimDir = "Gilbert29 0" (*physical relationship to data*) VENC = 2/3; vox = .3; (*declaring variables*) onea = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; oneb = onea; onec = onea; oned = onea; twoa = onea; twob = onea; twoc = onea; twod = onea; oneam = onea; onebm = onea; onecm = onea; onedm = onea; twoam = onea; twobm = onea; twocm = onea; twodm = onea; doneadx = onea; doneady = onea; donebdx = oneb; donebdy = oneb; donecdx = onec; donecdy = onec; 85 doneddx = oned; doneddy = oned; dtwoadx = twoa; dtwoady = twoa; dtwobdx = twob; dtwobdy = twob; dtwocdx = twoc; dtwocdy = twoc; dtwoddx = twod; dtwoddy = twod; ComplexoneA = onea; ComplexoneB = onea; ComplexoneC = onea; ComplexoneD = onea; ComplextwoA = onea; ComplextwoB = onea; ComplextwoC = onea; ComplextwoD = onea; (*This part is all to grab the*)(*imagesandturnthemintoasimplematrix, *) (*from0to256.Idon′ tknowquitehowitworks, butitdoes*) (*Note that this code works for the 0 and 400 ms points*) (*only.200and600msmustbecalledfromdifferentfiles*) For[n = 1, n < 11, SetDirectory[$InitialDirectory]; SetDirectory[TimDir]; SetDirectory["setp" <> ToString[n]]; setonea = Import["setp" <> ToString[n] <> "img1", "DICOM"]; setoneb = Import["setp" <> ToString[n] <> "img3", "DICOM"]; setonec = Import["setp" <> ToString[n] <> "img5", "DICOM"]; setoned = Import["setp" <> ToString[n] <> "img7", "DICOM"]; setonea = setonea/.Graphics → List; setoneb = setoneb/.Graphics → List; setonec = setonec/.Graphics → List; setoned = setoned/.Graphics → List; setonea = setonea[[1, 1]]; onea[[n]] = setonea[[1]]; setoneb = setoneb[[1, 1]]; oneb[[n]] = setoneb[[1]]; setonec = setonec[[1, 1]]; onec[[n]] = setonec[[1]]; setoned = setoned[[1, 1]]; oned[[n]] = setoned[[1]]; 86 settwoa = Import["setp" <> ToString[n] <> "img10", "DICOM"]; settwob = Import["setp" <> ToString[n] <> "img12", "DICOM"]; settwoc = Import["setp" <> ToString[n] <> "img14", "DICOM"]; settwod = Import["setp" <> ToString[n] <> "img16", "DICOM"]; settwoa = settwoa/.Graphics → List; settwob = settwob/.Graphics → List; settwoc = settwoc/.Graphics → List; settwod = settwod/.Graphics → List; settwoa = settwoa[[1, 1]]; twoa[[n]] = settwoa[[1]]; settwob = settwob[[1, 1]]; twob[[n]] = settwob[[1]]; settwoc = settwoc[[1, 1]]; twoc[[n]] = settwoc[[1]]; settwod = settwod[[1, 1]]; twod[[n]] = settwod[[1]]; SetDirectory[$InitialDirectory]; SetDirectory[TimDir]; SetDirectory["setm" <> ToString[n]]; setoneam = Import["setm" <> ToString[n] <> "img1", "DICOM"]; setonebm = Import["setm" <> ToString[n] <> "img3", "DICOM"]; setonecm = Import["setm" <> ToString[n] <> "img5", "DICOM"]; setonedm = Import["setm" <> ToString[n] <> "img7", "DICOM"]; setoneam = setoneam/.Graphics → List; setonebm = setonebm/.Graphics → List; setonecm = setonecm/.Graphics → List; setonedm = setonedm/.Graphics → List; setoneam = setoneam[[1, 1]]; oneam[[n]] = setoneam[[1]]; setonebm = setonebm[[1, 1]]; onebm[[n]] = setonebm[[1]]; setonecm = setonecm[[1, 1]]; onecm[[n]] = setonecm[[1]]; setonedm = setonedm[[1, 1]]; onedm[[n]] = setonedm[[1]]; settwoam = Import["setm" <> ToString[n] <> "img10", "DICOM"]; settwobm = Import["setm" <> ToString[n] <> "img12", "DICOM"]; settwocm = Import["setm" <> ToString[n] <> "img14", "DICOM"]; settwodm = Import["setm" <> ToString[n] <> "img16", "DICOM"]; settwoam = settwoam/.Graphics → List; settwobm = settwobm/.Graphics → List; settwocm = settwocm/.Graphics → List; 87 settwodm = settwodm/.Graphics → List; settwoam = settwoam[[1, 1]]; twoam[[n]] = settwoam[[1]]; settwobm = settwobm[[1, 1]]; twobm[[n]] = settwobm[[1]]; settwocm = settwocm[[1, 1]]; twocm[[n]] = settwocm[[1]]; settwodm = settwodm[[1, 1]]; twodm[[n]] = settwodm[[1]]; (*Converting to complex numbers with magnitude equal to*) (*themagnitudeoftheData, andangleequaltothephase*) (*ofthedata.Itmakesdealingwithrollovereasier*) ComplexoneA[[n]] = Table[oneam[[n]][[i, j]] ∗ Cos[onea[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ oneam[[n]][[i, j]] ∗ Sin[onea[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplexoneB[[n]] = Table[onebm[[n]][[i, j]] ∗ Cos[oneb[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ onebm[[n]][[i, j]] ∗ Sin[oneb[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplexoneC[[n]] = Table[onecm[[n]][[i, j]] ∗ Cos[onec[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ onecm[[n]][[i, j]] ∗ Sin[onec[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplexoneD[[n]] = Table[onedm[[n]][[i, j]] ∗ Cos[oned[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ onedm[[n]][[i, j]] ∗ Sin[oned[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoA[[n]] = Table[twoam[[n]][[i, j]] ∗ Cos[twoa[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twoam[[n]][[i, j]] ∗ Sin[twoa[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoB[[n]] = Table[twobm[[n]][[i, j]] ∗ Cos[twob[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twobm[[n]][[i, j]] ∗ Sin[twob[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoC[[n]] = Table[twocm[[n]][[i, j]] ∗ Cos[twoc[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twocm[[n]][[i, j]] ∗ Sin[twoc[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoD[[n]] = Table[twodm[[n]][[i, j]] ∗ Cos[twod[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twodm[[n]][[i, j]] ∗ Sin[twod[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ; n++] (*This part finds the change in velocity over the distance of two*) (*voxels.Thecentervoxelis(i + 1, j + 1).Thisissothecenter, *) (*whatismostlikelydn/dm, isatthecenterofavoxel.*) (*Otherwise, thematriceswouldn′ tberepresentingthesame*) (*physicalpoints, insteadbeingondifferentedgesofeachvoxel*) (*This finds the difference between the phases using complex math*) doneadx = Table[Table[Arg[ComplexoneA[[k]][[i + 1, j]]/ComplexoneA[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; doneady = Table[Table[Arg[ComplexoneA[[k]][[i, j + 1]]/ComplexoneA[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; donebdx = Table[Table[Arg[ComplexoneB[[k]][[i + 1, j]]/ComplexoneB[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; 88 donebdy = Table[Table[Arg[ComplexoneB[[k]][[i, j + 1]]/ComplexoneB[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; donecdx = Table[Table[Arg[ComplexoneC[[k]][[i + 1, j]]/ComplexoneC[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; donecdy = Table[Table[Arg[ComplexoneC[[k]][[i, j + 1]]/ComplexoneC[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; doneddx = Table[Table[Arg[ComplexoneD[[k]][[i + 1, j]]/ComplexoneD[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; doneddy = Table[Table[Arg[ComplexoneD[[k]][[i, j + 1]]/ComplexoneD[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; dtwoadx = Table[Table[Arg[ComplextwoA[[k]][[i + 1, j]]/ComplextwoA[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; dtwoady = Table[Table[Arg[ComplextwoA[[k]][[i, j + 1]]/ComplextwoA[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; dtwobdx = Table[Table[Arg[ComplextwoB[[k]][[i + 1, j]]/ComplextwoB[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; dtwobdy = Table[Table[Arg[ComplextwoB[[k]][[i, j + 1]]/ComplextwoB[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; dtwocdx = Table[Table[Arg[ComplextwoC[[k]][[i + 1, j]]/ComplextwoC[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; dtwocdy = Table[Table[Arg[ComplextwoC[[k]][[i, j + 1]]/ComplextwoC[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; dtwoddx = Table[Table[Arg[ComplextwoD[[k]][[i + 1, j]]/ComplextwoD[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 10}]; dtwoddy = Table[Table[Arg[ComplextwoD[[k]][[i, j + 1]]/ComplextwoD[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 10}]; (*Weightedaveragethetenimages, toreducenoise*) weightoneax = Table[Table[Min[oneam[[k]][[i, j]], oneam[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weightonebx = Table[Table[Min[onebm[[k]][[i, j]], onebm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weightonecx = Table[Table[Min[onecm[[k]][[i, j]], onecm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weightonedx = Table[Table[Min[onedm[[k]][[i, j]], onedm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weighttwoax = Table[Table[Min[twoam[[k]][[i, j]], twoam[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weighttwobx = Table[Table[Min[twobm[[k]][[i, j]], twobm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weighttwocx = Table[Table[Min[twocm[[k]][[i, j]], twocm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weighttwodx = Table[Table[Min[twodm[[k]][[i, j]], twodm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 10}]; weightoneay = Table[Table[Min[oneam[[k]][[i, j]], oneam[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weightoneby = Table[Table[Min[onebm[[k]][[i, j]], onebm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weightonecy = Table[Table[Min[onecm[[k]][[i, j]], onecm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weightonedy = Table[Table[Min[onedm[[k]][[i, j]], onedm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weighttwoay = Table[Table[Min[twoam[[k]][[i, j]], twoam[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weighttwoby = Table[Table[Min[twobm[[k]][[i, j]], twobm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weighttwocy = Table[Table[Min[twocm[[k]][[i, j]], twocm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; weighttwody = Table[Table[Min[twodm[[k]][[i, j]], twodm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 10}]; dadx = Table[ Sum[doneadx[[k]][[i, j]] ∗ weightoneax[[k]][[i, j]] + doneadx[[k]][[i, j + 1]] ∗ weightoneax[[k]][[i, j + 1]]+ dtwoadx[[k]][[i, j]] ∗ weighttwoax[[k]][[i, j]] + dtwoadx[[k]][[i, j + 1]] ∗ weighttwoax[[k]][[i, j + 1]], {k, 10}]/Sum[weightoneax[[k]][[i, j]] + weightoneax[[k]][[i, j + 1]]+ weighttwoax[[k]][[i, j]] + weighttwoax[[k]][[i, j + 1]], {k, 10}], {i, 63}, {j, 63}]; dady = Table[Sum[doneady[[k]][[i, j]] ∗ weightoneay[[k]][[i, j]]+ doneady[[k]][[i + 1, j]] ∗ weightoneay[[k]][[i + 1, j]] + dtwoady[[k]][[i, j]] ∗ weighttwoay[[k]][[i, j]]+ 89 dtwoady[[k]][[i + 1, j]] ∗ weighttwoay[[k]][[i + 1, j]], {k, 10}]/ Sum[weightoneay[[k]][[i, j]] + weightoneay[[k]][[i + 1, j]] + weighttwoay[[k]][[i, j]]+ weighttwoay[[k]][[i + 1, j]], {k, 10}], {i, 63}, {j, 63}]; dbdx = Table[Sum[donebdx[[k]][[i, j]] ∗ weightonebx[[k]][[i, j]]+ donebdx[[k]][[i, j + 1]] ∗ weightonebx[[k]][[i, j + 1]] + dtwobdx[[k]][[i, j]] ∗ weighttwobx[[k]][[i, j]]+ dtwobdx[[k]][[i, j + 1]] ∗ weighttwobx[[k]][[i, j + 1]], {k, 10}]/ Sum[weightonebx[[k]][[i, j]] + weightonebx[[k]][[i, j + 1]] + weighttwobx[[k]][[i, j]]+ weighttwobx[[k]][[i, j + 1]], {k, 10}], {i, 63}, {j, 63}]; dbdy = Table[Sum[donebdy[[k]][[i, j]] ∗ weightoneby[[k]][[i, j]]+ donebdy[[k]][[i + 1, j]] ∗ weightoneby[[k]][[i + 1, j]] + dtwobdy[[k]][[i, j]] ∗ weighttwoby[[k]][[i, j]]+ dtwobdy[[k]][[i + 1, j]] ∗ weighttwoby[[k]][[i + 1, j]], {k, 10}]/ Sum[weightoneby[[k]][[i, j]] + weightoneby[[k]][[i + 1, j]] + weighttwoby[[k]][[i, j]]+ weighttwoby[[k]][[i + 1, j]], {k, 10}], {i, 63}, {j, 63}]; dcdx = Table[Sum[donecdx[[k]][[i, j]] ∗ weightonecx[[k]][[i, j]]+ donecdx[[k]][[i, j + 1]] ∗ weightonecx[[k]][[i, j + 1]] + dtwocdx[[k]][[i, j]] ∗ weighttwocx[[k]][[i, j]]+ dtwocdx[[k]][[i, j + 1]] ∗ weighttwocx[[k]][[i, j + 1]], {k, 10}]/ Sum[weightonecx[[k]][[i, j]] + weightonecx[[k]][[i, j + 1]] + weighttwocx[[k]][[i, j]]+ weighttwocx[[k]][[i, j + 1]], {k, 10}], {i, 63}, {j, 63}]; dcdy = Table[Sum[donecdy[[k]][[i, j]] ∗ weightonecy[[k]][[i, j]]+ donecdy[[k]][[i + 1, j]] ∗ weightonecy[[k]][[i + 1, j]] + dtwocdy[[k]][[i, j]] ∗ weighttwocy[[k]][[i, j]]+ dtwocdy[[k]][[i + 1, j]] ∗ weighttwocy[[k]][[i + 1, j]], {k, 10}]/ Sum[weightonecy[[k]][[i, j]] + weightonecy[[k]][[i + 1, j]] + weighttwocy[[k]][[i, j]]+ weighttwocy[[k]][[i + 1, j]], {k, 10}], {i, 63}, {j, 63}]; dddx = Table[Sum[doneddx[[k]][[i, j]] ∗ weightonedx[[k]][[i, j]]+ doneddx[[k]][[i, j + 1]] ∗ weightonedx[[k]][[i, j + 1]] + dtwoddx[[k]][[i, j]] ∗ weighttwodx[[k]][[i, j]]+ dtwoddx[[k]][[i, j + 1]] ∗ weighttwodx[[k]][[i, j + 1]], {k, 10}]/ Sum[weightonedx[[k]][[i, j]] + weightonedx[[k]][[i, j + 1]] + weighttwodx[[k]][[i, j]]+ weighttwodx[[k]][[i, j + 1]], {k, 10}], {i, 63}, {j, 63}]; dddy = Table[Sum[doneddy[[k]][[i, j]] ∗ weightonedy[[k]][[i, j]]+ doneddy[[k]][[i + 1, j]] ∗ weightonedy[[k]][[i + 1, j]] + dtwoddy[[k]][[i, j]] ∗ weighttwody[[k]][[i, j]]+ dtwoddy[[k]][[i + 1, j]] ∗ weighttwody[[k]][[i + 1, j]], {k, 10}]/ Sum[weightonedy[[k]][[i, j]] + weightonedy[[k]][[i + 1, j]] + weighttwody[[k]][[i, j]]+ weighttwody[[k]][[i + 1, j]], {k, 10}], {i, 63}, {j, 63}]; (*Converting the 4 quadrilateral vectors into orthogonal vectors*) c= √ . 3 4 ∗ (VENC/vox)/(2 ∗ Pi); dxdx = c ∗ (dadx − dbdx + dcdx − dddx); dxdy = c ∗ (dady − dbdy + dcdy − dddy); dydx = c ∗ (dadx − dbdx − dcdx + dddx); dydy = c ∗ (dady − dbdy − dcdy + dddy); 90 (*Mohr′ sCircle*) txy = (dxdy + dydx)/2; dsigavg = (dxdx + dydy)/2; R = Sqrt[(dxdx − dsigavg)∧ 2 + txy∧ 2]; StrainTheta = −(ArcTan[(dxdx − dsigavg), txy])/2; PStrain1org = (dsigavg + R); (*CorrelatestoStrainTheta[[i, j]]*) PStrain2org = (dsigavg − R); (*CorrelatestoStrainTheta[[i, j]] + Pi/2*) mag = Sum[oneam[[i]] + twoam[[i]] + onebm[[i]]+ twobm[[i]] + onecm[[i]] + twocm[[i]] + onedm[[i]] + twodm[[i]], {i, 10}]/80; PStrain1 = Table[If[mag[[i, j]] < 64, 0, PStrain1org[[i, j]]], {i, 1, 63}, {j, 1, 63}]; PStrain2 = Table[If[mag[[i, j]] < 64, 0, PStrain2org[[i, j]]], {i, 1, 63}, {j, 1, 63}]; (*graphics constants*) l = 3; h = 1.5; t = .2; th = .05; (*For setting the boundaries*)(*of the strain tensors that are displayed*) xrangemin = 17; xrangemax = 42; yrangemin = 17; yrangemax = 42; (*Making the icons*) g1 = Table[If[PStrain1[[i, j]]==0, Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − .05, j − .05}, {i + .05, j + .05}]}], If[PStrain1[[i, j]] < 0, Graphics[{RGBColor[−h ∗ (PStrain1[[i, j]]), 0, 0], Polygon[ {{i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}}]}], Graphics[{RGBColor[0, 0, h ∗ (PStrain1[[i, j]])], Polygon[ {{i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, 91 j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}}]}]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; g2 = Table[If[PStrain2[[i, j]]==0, Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − .05, j − .05}, {i + .05, j + .05}]}], If[PStrain2[[i, j]] < 0, Graphics[ {RGBColor[−h ∗ (PStrain2[[i, j]]), 0, 0], Polygon[{{i − l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j − l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i − l ∗ PStrain2[[i, j]]∗ Cos[StrainTheta[[i, j]]] ∗ .3, j − l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]]] ∗ .3}, {i + l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j + l ∗ PStrain2[[i, j]]∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i + l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]]] ∗ .3, j + l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]]] ∗ .3}}]}], Graphics[ {RGBColor[0, 0, h ∗ (PStrain2[[i, j]])], Polygon[{{i − l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j − l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i − l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]]] ∗ .3, j − l ∗ PStrain2[[i, j]]∗ Sin[StrainTheta[[i, j]]] ∗ .3}, {i + l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j + l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i + l ∗ PStrain2[[i, j]]∗ Cos[StrainTheta[[i, j]]] ∗ .3, j + l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]]] ∗ .3}}]}]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; (*Sorting the icons so that the*)(*smaller icon is never covered by the larger*) gMin = Table[If[Abs[PStrain1[[i, j]]] < Abs[PStrain2[[i, j]]], g1[[i + 1 − xrangemin, j + 1 − yrangemin]], g2[[i + 1 − xrangemin, j + 1 − yrangemin]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; gMax = Table[If[Abs[PStrain1[[i, j]]] < Abs[PStrain2[[i, j]]], g2[[i + 1 − xrangemin, j + 1 − yrangemin]], g1[[i + 1 − xrangemin, j + 1 − yrangemin]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; (*mag2D and maglt are background images*) mag2D = Table[ Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − .5, j − .5}, {i + .5, j + .5}]}], {i, 63}, {j, 63}]; maglt = Table[Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − .5, j − .5}, {i + .5, j + .5}]}], {i, xrangemin − 5, xrangemax + 5}, {j, yrangemin − 5, yrangemax + 5}]; (*This creates a scale bar for the graphics*) scale = Graphics[{GrayLevel[1], Rectangle[{xrangemin − 3.5, yrangemin − 2.5}, {xrangemin − 5.5, yrangemin − 5.5}]}]; bar = Graphics[ {RGBColor[0, 0, h ∗ (2/3)], Polygon[{{xrangemin − 4.5, (yrangemin − 3)}, {(xrangemin − 4.2), (yrangemin − 4)}, {(xrangemin − 4.5), (yrangemin − 5)}, {(xrangemin − 4.8), (yrangemin − 4)}}]}] (*Regional analysis*) reg1xmin = xrangemax − 15; reg1xmax = xrangemax − 4; reg1ymin = yrangemax − 8; 92 reg1ymax = yrangemax; region1 = Table[{i, j}, {i, reg1xmin, reg1xmax}, {j, reg1ymin, reg1ymax}]; "The total strain in Region 1:" "Expansion is:" region1totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg1xmin, reg1xmax}], {j, reg1ymin, reg1ymax}] "Compression is:" region1totcom = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg1xmin, reg1xmax}], {j, reg1ymin, reg1ymax}] region1g = Table[Graphics[{Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg1xmin, reg1xmax}, {j, reg1ymin, reg1ymax}]; region1box = {Graphics[{Thickness[.01], Line[{{reg1xmin − .5, reg1ymin − .5}, {reg1xmin − .5, reg1ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg1xmin − .5, reg1ymax + .5}, {reg1xmax + .5, reg1ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg1xmax + .5, reg1ymax + .5}, {reg1xmax + .5, reg1ymin − .5}}]}], Graphics[{Thickness[.01], Line[{{reg1xmax + .5, reg1ymin − .5}, {reg1xmin − .5, reg1ymin − .5}}]}]}; reg2xmin = xrangemax − 15; reg2xmax = xrangemax − 4; reg2ymin = yrangemax − 16; reg2ymax = yrangemax − 9; region2 = Table[{i, j}, {i, xrangemax − 15, xrangemax − 4}, {j, yrangemax − 16, yrangemax − 9}]; "The total strain in Region 2:" "Expansion is:" region2totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg2xmin, reg2xmax}], {j, reg2ymin, reg2ymax}] "Compression is:" region2totexp = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg2xmin, reg2xmax}], {j, reg2ymin, reg2ymax}] region2g = Table[Graphics[{RGBColor[1, 0, 0], Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg2xmin, reg2xmax}, {j, reg2ymin, reg2ymax}]; region2box = {Graphics[{Thickness[.01], Line[{{reg2xmin − .5, reg2ymin − .5}, {reg2xmin − .5, reg2ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg2xmin − .5, reg2ymax + .5}, {reg2xmax + .5, reg2ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg2xmax + .5, reg2ymax + .5}, {reg2xmax + .5, reg2ymin − .5}}]}], Graphics[{Thickness[.01], Line[{{reg2xmax + .5, reg2ymin − .5}, {reg2xmin − .5, reg2ymin − .5}}]}]}; reg3xmin = xrangemax − 15; reg3xmax = xrangemax − 4; reg3ymin = yrangemax − 26; reg3ymax = yrangemax − 17; region3 = Table[{i, j}, {i, reg3xmin, reg3xmax}, {j, reg3ymin, reg3ymax}]; "The total strain in Region 3:" "Expansion is:" 93 region3totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg3xmin, reg3xmax}], {j, reg3ymin, reg3ymax}] "Compression is:" region3totcom = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg3xmin, reg3xmax}], {j, reg3ymin, reg3ymax}] region3g = Table[Graphics[{RGBColor[0, 1, 0], Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg3xmin, reg3xmax}, {j, reg3ymin, reg3ymax}]; region3box = {Graphics[{Thickness[.01], Line[{{reg3xmin − .5, reg3ymin − .5}, {reg3xmin − .5, reg3ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg3xmin − .5, reg3ymax + .5}, {reg3xmax + .5, reg3ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg3xmax + .5, reg3ymax + .5}, {reg3xmax + .5, reg3ymin − .5}}]}], Graphics[{Thickness[.01], Line[{{reg3xmax + .5, reg3ymin − .5}, {reg3xmin − .5, reg3ymin − .5}}]}]}; reg4xmin = xrangemax − 21; reg4xmax = xrangemax − 16; reg4ymin = yrangemax − 21; reg4ymax = yrangemax − 14; region4 = Table[{i, j}, {i, reg4xmin, reg4xmax}, {j, reg4ymin, reg4ymax}]; "The total strain in Region 4:" "Expansion is:" region4totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg4xmin, reg4xmax}], {j, reg4ymin, reg4ymax}] "Compression is:" region4totcom = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg4xmin, reg4xmax}], {j, reg4ymin, reg4ymax}] region4g = Table[Graphics[{RGBColor[0, 0, 1], Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg4xmin, reg4xmax}, {j, reg4ymin, reg4ymax}]; region4box = {Graphics[{Thickness[.01], Line[{{reg4xmin − .5, reg4ymin − .5}, {reg4xmin − .5, reg4ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg4xmin − .5, reg4ymax + .5}, {reg4xmax + .5, reg4ymax + .5}}]}], Graphics[{Thickness[.01], Line[{{reg4xmax + .5, reg4ymax + .5}, {reg4xmax + .5, reg4ymin − .5}}]}], Graphics[{Thickness[.01], Line[{{reg4xmax + .5, reg4ymin − .5}, {reg4xmin − .5, reg4ymin − .5}}]}]}; Show[mag2D, {AspectRatio → Automatic}, {ImageSize → {600, 600}}]; Show[mag2D, g1, g2, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; Show[mag2D, region1box, region2box, region3box, region4box, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; Show[maglt, gMax, gMin, scale, bar, {AspectRatio → Automatic}, {ImageSize → {500, 500}}]; 94 Appendix C Mathematica: SER PC Dicom File Sorting (*AMathematicaDicomIdownloadedforfree.*) (*http : //bmia.bmt.tue.nl/Software/Mathematica/AddOns/Packages/index.html*) << MathDCM`MathDCM` (*setting variables for file location*) TimDir = "GilbertP2" filenumber = "11301054" goodsets = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} (*IsuggestfindingthesenumbersusingtheDICOMimageviewerthatcomeswiththedata.Remember*) (*thatregularscanslikelocalizerare1set, butPCdataistwosets.Amagset, andaphaseset.*) goodsets[[1]] = {2, 4, 6, 8, 10}; goodsets[[2]] = {12, 14, 16, 18, 20}; goodsets[[3]] = {22, 24, 26, 28, 30}; goodsets[[4]] = {32, 34, 36, 38, 40}; goodsets[[5]] = {42, 44, 46, 48, 50}; goodsets[[6]] = {52, 54, 56, 58, 60}; goodsets[[7]] = {62, 64, 66, 68, 70}; goodsets[[8]] = {72, 74, 76, 78, 80}; goodsets[[9]] = {82, 84, 86, 88, 90}; goodsets[[10]] = {92, 94, 96, 98, 100}; goodsets[[11]] = {102, 104, 106, 108, 110}; goodsets[[12]] = {112, 114, 116, 118, 120}; (*locating files*) SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] thenames = FileNames[]; 95 tot = Length[thenames] For[q = 1, q < 13, { j = 1; (*Find Magnitude Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Magnitude Files*) CreateDirectory["setm" <> ToString[j]]; For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Find Phase Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Phase Files*) CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Sort Magnitude Files*) SetDirectory["setm" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; (*Sort Phase Files*) 96 SetDirectory[ParentDirectory[]]; SetDirectory["setp" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; SetDirectory["F:\Research"]; SetDirectory[TimDir]; SetDirectory[filenumber]; j = 2; (*Find Magnitude Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Magnitude Files*) CreateDirectory["setm" <> ToString[j]]; For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Find Phase Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Phase Files*) CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Sort Magnitude Files*) 97 SetDirectory["setm" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; (*Sort Phase Files*) SetDirectory[ParentDirectory[]]; SetDirectory["setp" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; SetDirectory["F:\Research"]; SetDirectory[TimDir]; SetDirectory[filenumber]; j = 3; (*Find Magnitude Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Magnitude Files*) CreateDirectory["setm" <> ToString[j]]; For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Find Phase Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Phase Files*) 98 CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Sort Magnitude Files*) SetDirectory["setm" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; (*Sort Phase Files*) SetDirectory[ParentDirectory[]]; SetDirectory["setp" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; SetDirectory["F:\Research"]; SetDirectory[TimDir]; SetDirectory[filenumber]; j = 4; (*Find Magnitude Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Magnitude Files*) CreateDirectory["setm" <> ToString[j]]; For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Find Phase Files*) 99 n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Phase Files*) CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Sort Magnitude Files*) SetDirectory["setm" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; (*Sort Phase Files*) SetDirectory[ParentDirectory[]]; SetDirectory["setp" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; SetDirectory["F:\Research"]; SetDirectory[TimDir]; SetDirectory[filenumber]; j = 5; (*Find Magnitude Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]]], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; 100 (*Separate Magnitude Files*) CreateDirectory["setm" <> ToString[j]]; For[i = 1, i < n, CopyFile[filenames[i], "setm" <> ToString[j] <> "/set" <> ToString[j] <> "m" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Find Phase Files*) n = 1; For[i = 1, i < tot + 1, If[DicomGetTagValue[thenames[[i]], "0020,0011"]==ToString[goodsets[[q]][[j]] + 1], {filenames[n] = thenames[[i]], n = n + 1}]; i++]; (*Separate Phase Files*) CreateDirectory["setp" <> ToString[j]] For[i = 1, i < n, CopyFile[filenames[i], "setp" <> ToString[j] <> "/set" <> ToString[j] <> "p" <> ToString[DicomGetTagValue[filenames[i], "0020,0013"]] <> ".dcm"]; i++]; (*Sort Magnitude Files*) SetDirectory["setm" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setm" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; (*Sort Phase Files*) SetDirectory[ParentDirectory[]]; SetDirectory["setp" <> ToString[j]]; setnames = FileNames[]; For[i = 1, i < 9, RenameFile[setnames[[i]], "setp" <> ToString[j] <> "img" <> ToString[DicomGetTagValue[setnames[[i]], "0020,0013"]]] i++]; SetDirectory["F:\Research"]; SetDirectory[TimDir]; SetDirectory[filenumber]; 101 CreateDirectory["TimePoint" <> ToString[q]]; For[j = 1, j < 6, {CopyDirectory["setm" <> ToString[j], "TimePoint" <> ToString[q] <> "/setm" <> ToString[j]], CopyDirectory["setp" <> ToString[j], "TimePoint" <> ToString[q] <> "/setp" <> ToString[j]]}; j++]; For[j = 1, j < 6, {DeleteDirectory["setm" <> ToString[j], DeleteContents → True], DeleteDirectory["setp" <> ToString[j], DeleteContents → True]}; j++]; SetDirectory["F:\Research"] SetDirectory[TimDir] SetDirectory[filenumber] q }; q++] 102 Appendix D Mathematica: SER PC Processing Off[General::spell1] (*Designates what folder the dicom files are in*) TimDir = "Gilbert37(3) 1" (*VENC and Voxel side length*) VENC = 1; vox = .3; (*For setting the boundaries of the strain tensors that are displayed*) (*for 3ml bolus*) xrangemin = 18; xrangemax = 41; yrangemin = 11; yrangemax = 39; (*for 10ml bolus*) (* xrangemin = 17; xrangemax = 47; yrangemin = 12; yrangemax = 42; *) (*Declaration of Variables*) onea = {0, 0, 0, 0, 0}; oneb = onea; onec = onea; oned = onea; twoa = onea; 103 twob = onea; twoc = onea; twod = onea; oneam = onea; onebm = onea; onecm = onea; onedm = onea; twoam = onea; twobm = onea; twocm = onea; twodm = onea; doneadx = onea; doneady = onea; dadz = onea; donebdx = oneb; donebdy = oneb; dbdz = oneb; donecdx = onec; donecdy = onec; dcdz = onec; doneddx = oned; doneddy = oned; dddz = oned; dtwoadx = twoa; dtwoady = twoa; dtwobdx = twob; dtwobdy = twob; dtwocdx = twoc; dtwocdy = twoc; dtwoddx = twod; dtwoddy = twod; ComplexoneA = onea; ComplexoneB = onea; ComplexoneC = onea; ComplexoneD = onea; ComplextwoA = onea; ComplextwoB = onea; ComplextwoC = onea; ComplextwoD = onea; (*lineInBoxisafunctionforfindingalinestartingatstartpointthatisboundedbya1x1square, *) (* with a center at centerpoint*) lineInBox = Function[{startpoint, centerpoint, t}, xstart = startpoint[[1]]; 104 ystart = startpoint[[2]]; xcenter = centerpoint[[1]]; ycenter = centerpoint[[2]]; If[xstart==xcenter − 0.5&&ystart == ycenter − 0.5&&t < 0, {xstart, ystart}, If[xstart==xcenter − 0.5&&ystart == ycenter − 0.5&&Pi/4 > t > 0, {i + 0.5, Tan[t] + ystart}, If[xstart==xcenter − 0.5&&ystart == ycenter − 0.5&&t ≥ Pi/4, {Cot[t] + xstart, j + 0.5}, If[xstart==xcenter + 0.5&&ystart == ycenter − 0.5&&t > 0, {xstart, ystart}, If[xstart==xcenter + 0.5&&ystart == ycenter − 0.5&& − Pi/4 < t < 0, {xcenter − 0.5, −Tan[t] + ystart}, If[xstart==xcenter + 0.5&&ystart == ycenter − 0.5&&t ≤ −Pi/4, {Cot[t] + xstart, ycenter + 0.5}, If[xstart==xcenter − 0.5&&ystart == ycenter + 0.5&&t > 0, {xstart, ystart}, If[xstart==xcenter − 0.5&&ystart == ycenter + 0.5&& − Pi/4 < t < 0, {xcenter + 0.5, Tan[t] + ystart}, If[xstart==xcenter − 0.5&&ystart == ycenter + 0.5&&t ≤ −Pi/4, {−Cot[t] + xstart, ycenter − 0.5}, If[xstart==xcenter + 0.5&&ystart == ycenter + 0.5&&t < 0, {xstart, ystart}, If[xstart==xcenter + 0.5&&ystart == ycenter + 0.5&&Pi/4 > t > 0, {xcenter − 0.5, −Tan[t] + ystart}, If[xstart==xcenter + 0.5&&ystart == ycenter + 0.5&&t ≥ Pi/4, {−Cot[t] + xstart, ycenter − 0.5}, If[xstart == xcenter − 0.5&& ycenter + 0.5 > Tan[t] + ystart > ycenter − 0.5, {xcenter + 0.5, Tan[t] + ystart}, If[xstart == xcenter − 0.5&&t > 0, {Cot[t] ∗ (ycenter + 0.5 − ystart) + xstart, ycenter + 0.5}, If[xstart == xcenter − 0.5&&t < 0, {Cot[t] ∗ (ycenter − 0.5 − ystart) + xstart, ycenter − 0.5}, If[xstart == xcenter + 0.5&& ycenter + 0.5 > ystart − Tan[t] > ycenter − 0.5, {xcenter − 0.5, ystart − Tan[t]}, If[xstart == xcenter + 0.5&&t > 0, {Cot[t] ∗ (ycenter − 0.5 − ystart) + xstart, ycenter − 0.5}, If[xstart == xcenter + 0.5&&t < 0, {Cot[t] ∗ (ycenter + 0.5 − ystart) + xstart, ycenter + 0.5}, If[ystart == ycenter − 0.5&& xcenter + 0.5 > xstart + Cot[t] > xcenter − 0.5, {xstart + Cot[t], ycenter + 0.5}, If[ystart == ycenter − 0.5&&t > 0, {xcenter + 0.5, ystart + Tan[t] ∗ (xcenter + 0.5 − xstart)}, If[ystart == ycenter − 0.5&&t < 0, {xcenter − 0.5, ystart + Tan[t] ∗ (xcenter − 0.5 − xstart)}, If[ystart == ycenter + 0.5&& xcenter + 0.5 > xstart − Cot[t] > xcenter − 0.5, {xstart − Cot[t], ycenter − 0.5}, If[ystart == ycenter + 0.5&&t < 0, {xcenter + 0.5, ystart + Tan[t]∗ (xcenter + 0.5 − xstart)}, If[ystart == ycenter + 0.5&&t > 0, {xcenter − 0.5, ystart + Tan[t]∗ (xcenter − 0.5 − xstart)}] ]]]]]]]]]]]]]]]]]]]]]]]]; (*nextBoxisafunctionthatfindstheadjacentboxtotheboxcenteredatstartpoint, *) (* sharing the boundary point point*) nextBox = Function[{startpoint, point}, xstart = startpoint[[1]]; ystart = startpoint[[2]]; xpoint = point[[1]]; ypoint = point[[2]]; If[xpoint − xstart == −0.5&&ypoint − ystart == −0.5, {xstart − 1, ystart − 1}, If[xpoint − xstart == 0.5&&ypoint − ystart == −0.5, {xstart + 1, ystart + 1}, 105 If[xpoint − xstart == −0.5&&ypoint − ystart == 0.5, {xstart − 1, ystart + 1}, If[xpoint − xstart == 0.5&&ypoint − ystart == 0.5, {xstart + 1, ystart + 1}, If[xpoint − xstart == −0.5, {xstart − 1, ystart}, If[xpoint − xstart == 0.5, {xstart + 1, ystart}, If[ypoint − ystart == −0.5, {xstart, ystart − 1}, If[ypoint − ystart == 0.5, {xstart, ystart + 1} ]]]]]]]]]; (*Thispartisalltograbtheimagesandturnthemintoasimplematrix, *) (*from0to256.Idon′ tknowquitehowitworks, butitdoes*) For[n = 1, n < 6, SetDirectory[$InitialDirectory]; SetDirectory[TimDir]; SetDirectory["setp" <> ToString[n]]; setonea = Import["setp" <> ToString[n] <> "img1", "DICOM"]; setoneb = Import["setp" <> ToString[n] <> "img3", "DICOM"]; setonec = Import["setp" <> ToString[n] <> "img5", "DICOM"]; setoned = Import["setp" <> ToString[n] <> "img7", "DICOM"]; setonea = setonea/.Graphics → List; setoneb = setoneb/.Graphics → List; setonec = setonec/.Graphics → List; setoned = setoned/.Graphics → List; setonea = setonea[[1, 1]]; onea[[n]] = setonea[[1]]; setoneb = setoneb[[1, 1]]; oneb[[n]] = setoneb[[1]]; setonec = setonec[[1, 1]]; onec[[n]] = setonec[[1]]; setoned = setoned[[1, 1]]; oned[[n]] = setoned[[1]]; settwoa = Import["setp" <> ToString[n] <> "img2", "DICOM"]; settwob = Import["setp" <> ToString[n] <> "img4", "DICOM"]; settwoc = Import["setp" <> ToString[n] <> "img6", "DICOM"]; settwod = Import["setp" <> ToString[n] <> "img8", "DICOM"]; settwoa = settwoa/.Graphics → List; settwob = settwob/.Graphics → List; settwoc = settwoc/.Graphics → List; settwod = settwod/.Graphics → List; settwoa = settwoa[[1, 1]]; twoa[[n]] = settwoa[[1]]; settwob = settwob[[1, 1]]; twob[[n]] = settwob[[1]]; settwoc = settwoc[[1, 1]]; twoc[[n]] = settwoc[[1]]; 106 settwod = settwod[[1, 1]]; twod[[n]] = settwod[[1]]; SetDirectory[$InitialDirectory]; SetDirectory[TimDir]; SetDirectory["setm" <> ToString[n]]; setoneam = Import["setm" <> ToString[n] <> "img1", "DICOM"]; setonebm = Import["setm" <> ToString[n] <> "img3", "DICOM"]; setonecm = Import["setm" <> ToString[n] <> "img5", "DICOM"]; setonedm = Import["setm" <> ToString[n] <> "img7", "DICOM"]; setoneam = setoneam/.Graphics → List; setonebm = setonebm/.Graphics → List; setonecm = setonecm/.Graphics → List; setonedm = setonedm/.Graphics → List; setoneam = setoneam[[1, 1]]; oneam[[n]] = setoneam[[1]]; setonebm = setonebm[[1, 1]]; onebm[[n]] = setonebm[[1]]; setonecm = setonecm[[1, 1]]; onecm[[n]] = setonecm[[1]]; setonedm = setonedm[[1, 1]]; onedm[[n]] = setonedm[[1]]; settwoam = Import["setm" <> ToString[n] <> "img2", "DICOM"]; settwobm = Import["setm" <> ToString[n] <> "img4", "DICOM"]; settwocm = Import["setm" <> ToString[n] <> "img6", "DICOM"]; settwodm = Import["setm" <> ToString[n] <> "img8", "DICOM"]; settwoam = settwoam/.Graphics → List; settwobm = settwobm/.Graphics → List; settwocm = settwocm/.Graphics → List; settwodm = settwodm/.Graphics → List; settwoam = settwoam[[1, 1]]; twoam[[n]] = settwoam[[1]]; settwobm = settwobm[[1, 1]]; twobm[[n]] = settwobm[[1]]; settwocm = settwocm[[1, 1]]; twocm[[n]] = settwocm[[1]]; settwodm = settwodm[[1, 1]]; twodm[[n]] = settwodm[[1]]; (*ConvertingtocomplexnumberswithmagnitudeequaltothemagnitudeoftheData, *) (*andangleequaltothephaseofthedata.Itmakesdealingwithrollovereasier*) ComplexoneA[[n]] = Table[oneam[[n]][[i, j]] ∗ Cos[onea[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ oneam[[n]][[i, j]] ∗ Sin[onea[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; 107 ComplexoneB[[n]] = Table[onebm[[n]][[i, j]] ∗ Cos[oneb[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ onebm[[n]][[i, j]] ∗ Sin[oneb[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplexoneC[[n]] = Table[onecm[[n]][[i, j]] ∗ Cos[onec[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ onecm[[n]][[i, j]] ∗ Sin[onec[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplexoneD[[n]] = Table[onedm[[n]][[i, j]] ∗ Cos[oned[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ onedm[[n]][[i, j]] ∗ Sin[oned[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoA[[n]] = Table[twoam[[n]][[i, j]] ∗ Cos[twoa[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twoam[[n]][[i, j]] ∗ Sin[twoa[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoB[[n]] = Table[twobm[[n]][[i, j]] ∗ Cos[twob[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twobm[[n]][[i, j]] ∗ Sin[twob[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoC[[n]] = Table[twocm[[n]][[i, j]] ∗ Cos[twoc[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twocm[[n]][[i, j]] ∗ Sin[twoc[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ComplextwoD[[n]] = Table[twodm[[n]][[i, j]] ∗ Cos[twod[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi]+ I ∗ twodm[[n]][[i, j]] ∗ Sin[twod[[n]][[i, j]]/256. ∗ 2 ∗ Pi − Pi], {i, 64}, {j, 64}]; ; n++] (*Thispartfindsthechangeinvelocityoverthedistanceoftwovoxels.The*) (*centervoxelis(i + 1, j + 1).Thisissothecenter, whatismostlikelydn/dm, *) (*isatthecenterofavoxel.Otherwise, thematriceswouldn′ tberepresenting*) (*thesamephysicalpoints, insteadbeingondifferentedgesofeachvoxel*) (*This finds the difference between the phases using complex math*) doneadx = Table[Table[Arg[ComplexoneA[[k]][[i + 1, j]]/ComplexoneA[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; doneady = Table[Table[Arg[ComplexoneA[[k]][[i, j + 1]]/ComplexoneA[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; donebdx = Table[Table[Arg[ComplexoneB[[k]][[i + 1, j]]/ComplexoneB[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; donebdy = Table[Table[Arg[ComplexoneB[[k]][[i, j + 1]]/ComplexoneB[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; donecdx = Table[Table[Arg[ComplexoneC[[k]][[i + 1, j]]/ComplexoneC[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; donecdy = Table[Table[Arg[ComplexoneC[[k]][[i, j + 1]]/ComplexoneC[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; doneddx = Table[Table[Arg[ComplexoneD[[k]][[i + 1, j]]/ComplexoneD[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; doneddy = Table[Table[Arg[ComplexoneD[[k]][[i, j + 1]]/ComplexoneD[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; dtwoadx = Table[Table[Arg[ComplextwoA[[k]][[i + 1, j]]/ComplextwoA[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; dtwoady = Table[Table[Arg[ComplextwoA[[k]][[i, j + 1]]/ComplextwoA[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; dtwobdx = Table[Table[Arg[ComplextwoB[[k]][[i + 1, j]]/ComplextwoB[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; dtwobdy = Table[Table[Arg[ComplextwoB[[k]][[i, j + 1]]/ComplextwoB[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; dtwocdx = Table[Table[Arg[ComplextwoC[[k]][[i + 1, j]]/ComplextwoC[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; dtwocdy = Table[Table[Arg[ComplextwoC[[k]][[i, j + 1]]/ComplextwoC[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; dtwoddx = Table[Table[Arg[ComplextwoD[[k]][[i + 1, j]]/ComplextwoD[[k]][[i, j]]], {i, 63}, {j, 64}], {k, 5}]; dtwoddy = Table[Table[Arg[ComplextwoD[[k]][[i, j + 1]]/ComplextwoD[[k]][[i, j]]], {i, 64}, {j, 63}], {k, 5}]; (*Weightedaveragethefiveimages, toreducenoise*) weightoneax = Table[Table[Min[oneam[[k]][[i, j]], oneam[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; 108 weightonebx = Table[Table[Min[onebm[[k]][[i, j]], onebm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weightonecx = Table[Table[Min[onecm[[k]][[i, j]], onecm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weightonedx = Table[Table[Min[onedm[[k]][[i, j]], onedm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weighttwoax = Table[Table[Min[twoam[[k]][[i, j]], twoam[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weighttwobx = Table[Table[Min[twobm[[k]][[i, j]], twobm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weighttwocx = Table[Table[Min[twocm[[k]][[i, j]], twocm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weighttwodx = Table[Table[Min[twodm[[k]][[i, j]], twodm[[k]][[i + 1, j]]], {i, 63}, {j, 64}], {k, 5}]; weightoneay = Table[Table[Min[oneam[[k]][[i, j]], oneam[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weightoneby = Table[Table[Min[onebm[[k]][[i, j]], onebm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weightonecy = Table[Table[Min[onecm[[k]][[i, j]], onecm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weightonedy = Table[Table[Min[onedm[[k]][[i, j]], onedm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weighttwoay = Table[Table[Min[twoam[[k]][[i, j]], twoam[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weighttwoby = Table[Table[Min[twobm[[k]][[i, j]], twobm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weighttwocy = Table[Table[Min[twocm[[k]][[i, j]], twocm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; weighttwody = Table[Table[Min[twodm[[k]][[i, j]], twodm[[k]][[i, j + 1]]], {i, 64}, {j, 63}], {k, 5}]; dadx = Table[ Sum[doneadx[[k]][[i, j]] ∗ weightoneax[[k]][[i, j]] + doneadx[[k]][[i, j + 1]] ∗ weightoneax[[k]][[i, j + 1]]+ dtwoadx[[k]][[i, j]] ∗ weighttwoax[[k]][[i, j]] + dtwoadx[[k]][[i, j + 1]] ∗ weighttwoax[[k]][[i, j + 1]], {k, 5}]/Sum[weightoneax[[k]][[i, j]] + weightoneax[[k]][[i, j + 1]]+ weighttwoax[[k]][[i, j]] + weighttwoax[[k]][[i, j + 1]], {k, 5}], {i, 63}, {j, 63}]; dady = Table[Sum[doneady[[k]][[i, j]] ∗ weightoneay[[k]][[i, j]]+ doneady[[k]][[i + 1, j]] ∗ weightoneay[[k]][[i + 1, j]] + dtwoady[[k]][[i, j]] ∗ weighttwoay[[k]][[i, j]]+ dtwoady[[k]][[i + 1, j]] ∗ weighttwoay[[k]][[i + 1, j]], {k, 5}]/ Sum[weightoneay[[k]][[i, j]] + weightoneay[[k]][[i + 1, j]] + weighttwoay[[k]][[i, j]]+ weighttwoay[[k]][[i + 1, j]], {k, 5}], {i, 63}, {j, 63}]; dbdx = Table[Sum[donebdx[[k]][[i, j]] ∗ weightonebx[[k]][[i, j]]+ donebdx[[k]][[i, j + 1]] ∗ weightonebx[[k]][[i, j + 1]] + dtwobdx[[k]][[i, j]] ∗ weighttwobx[[k]][[i, j]]+ dtwobdx[[k]][[i, j + 1]] ∗ weighttwobx[[k]][[i, j + 1]], {k, 5}]/ Sum[weightonebx[[k]][[i, j]] + weightonebx[[k]][[i, j + 1]] + weighttwobx[[k]][[i, j]]+ weighttwobx[[k]][[i, j + 1]], {k, 5}], {i, 63}, {j, 63}]; dbdy = Table[Sum[donebdy[[k]][[i, j]] ∗ weightoneby[[k]][[i, j]]+ donebdy[[k]][[i + 1, j]] ∗ weightoneby[[k]][[i + 1, j]] + dtwobdy[[k]][[i, j]] ∗ weighttwoby[[k]][[i, j]]+ dtwobdy[[k]][[i + 1, j]] ∗ weighttwoby[[k]][[i + 1, j]], {k, 5}]/ Sum[weightoneby[[k]][[i, j]] + weightoneby[[k]][[i + 1, j]] + weighttwoby[[k]][[i, j]]+ weighttwoby[[k]][[i + 1, j]], {k, 5}], {i, 63}, {j, 63}]; dcdx = Table[Sum[donecdx[[k]][[i, j]] ∗ weightonecx[[k]][[i, j]]+ donecdx[[k]][[i, j + 1]] ∗ weightonecx[[k]][[i, j + 1]] + dtwocdx[[k]][[i, j]] ∗ weighttwocx[[k]][[i, j]]+ dtwocdx[[k]][[i, j + 1]] ∗ weighttwocx[[k]][[i, j + 1]], {k, 5}]/ Sum[weightonecx[[k]][[i, j]] + weightonecx[[k]][[i, j + 1]] + weighttwocx[[k]][[i, j]]+ weighttwocx[[k]][[i, j + 1]], {k, 5}], {i, 63}, {j, 63}]; dcdy = Table[Sum[donecdy[[k]][[i, j]] ∗ weightonecy[[k]][[i, j]]+ 109 donecdy[[k]][[i + 1, j]] ∗ weightonecy[[k]][[i + 1, j]] + dtwocdy[[k]][[i, j]] ∗ weighttwocy[[k]][[i, j]]+ dtwocdy[[k]][[i + 1, j]] ∗ weighttwocy[[k]][[i + 1, j]], {k, 5}]/ Sum[weightonecy[[k]][[i, j]] + weightonecy[[k]][[i + 1, j]] + weighttwocy[[k]][[i, j]]+ weighttwocy[[k]][[i + 1, j]], {k, 5}], {i, 63}, {j, 63}]; dddx = Table[Sum[doneddx[[k]][[i, j]] ∗ weightonedx[[k]][[i, j]]+ doneddx[[k]][[i, j + 1]] ∗ weightonedx[[k]][[i, j + 1]] + dtwoddx[[k]][[i, j]] ∗ weighttwodx[[k]][[i, j]]+ dtwoddx[[k]][[i, j + 1]] ∗ weighttwodx[[k]][[i, j + 1]], {k, 5}]/ Sum[weightonedx[[k]][[i, j]] + weightonedx[[k]][[i, j + 1]] + weighttwodx[[k]][[i, j]]+ weighttwodx[[k]][[i, j + 1]], {k, 5}], {i, 63}, {j, 63}]; dddy = Table[Sum[doneddy[[k]][[i, j]] ∗ weightonedy[[k]][[i, j]]+ doneddy[[k]][[i + 1, j]] ∗ weightonedy[[k]][[i + 1, j]] + dtwoddy[[k]][[i, j]] ∗ weighttwody[[k]][[i, j]]+ dtwoddy[[k]][[i + 1, j]] ∗ weighttwody[[k]][[i + 1, j]], {k, 5}]/ Sum[weightonedy[[k]][[i, j]] + weightonedy[[k]][[i + 1, j]] + weighttwody[[k]][[i, j]]+ weighttwody[[k]][[i + 1, j]], {k, 5}], {i, 63}, {j, 63}]; (*Conversion of the four gradient vectors into the three axis vectors*) c= √ . 3 4 ∗ (VENC/vox)/(2 ∗ Pi); dxdx = c ∗ (dadx − dbdx + dcdx − dddx); dxdy = c ∗ (dady − dbdy + dcdy − dddy); dydx = c ∗ (dadx − dbdx − dcdx + dddx); dydy = c ∗ (dady − dbdy − dcdy + dddy); (*Mohr′ sCircle*) txy = (dxdy + dydx)/2; dsigavg = (dxdx + dydy)/2; R = Sqrt[(dxdx − dsigavg)∧ 2 + txy∧ 2]; StrainTheta = −(ArcTan[(dxdx − dsigavg), txy])/2; PStrain1org = (dsigavg + R); (*CorrelatestoStrainTheta[[i, j]]*) PStrain2org = (dsigavg − R); (*CorrelatestoStrainTheta[[i, j]] + Pi/2*) (*This averages the 40 magnitude images that go into a timepoint*) mag = Sum[oneam[[i]] + twoam[[i]] + onebm[[i]]+ twobm[[i]] + onecm[[i]] + twocm[[i]] + onedm[[i]] + twodm[[i]], {i, 5}]/40; (*Thisfiltersoutstraindatafromlowsignalareas.Themagnitudeisindicativeofthesignal*) PStrain1 = Table[If[Min[mag[[i, j]], mag[[i + 1, j]], mag[[i + 1, j + 1]], mag[[i, j + 1]]] < 64, 0, PStrain1org[[i, j]]], {i, 1, 63}, {j, 1, 63}]; 110 PStrain2 = Table[If[Min[mag[[i, j]], mag[[i + 1, j]], mag[[i + 1, j + 1]], mag[[i, j + 1]]] < 64, 0, PStrain2org[[i, j]]], {i, 1, 63}, {j, 1, 63}]; (*Graphical constants*) l = 3; h = 1.5; t = .2; th = .05; (*g1 and g2 are the icons representing the strain data in the figures*) g1 = Table[If[PStrain1[[i, j]]==0, Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − .05, j − .05}, {i + .05, j + .05}]}], If[PStrain1[[i, j]] < 0, Graphics[{RGBColor[−h ∗ (PStrain1[[i, j]]), 0, 0], Polygon[ {{i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}}]}], Graphics[{RGBColor[0, 0, h ∗ (PStrain1[[i, j]])], Polygon[ {{i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i − l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j − l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]]], j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]]]}, {i + l ∗ PStrain1[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2] ∗ .3, j + l ∗ PStrain1[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2] ∗ .3}}]}]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; g2 = Table[If[PStrain2[[i, j]]==0, Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − .05, j − .05}, {i + .05, j + .05}]}], If[PStrain2[[i, j]] < 0, Graphics[ {RGBColor[−h ∗ (PStrain2[[i, j]]), 0, 0], Polygon[{{i − l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j − l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i − l ∗ PStrain2[[i, j]]∗ Cos[StrainTheta[[i, j]]] ∗ .3, j − l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]]] ∗ .3}, {i + l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j + l ∗ PStrain2[[i, j]]∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i + l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]]] ∗ .3, j + l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]]] ∗ .3}}]}], Graphics[ {RGBColor[0, 0, h ∗ (PStrain2[[i, j]])], Polygon[{{i − l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j − l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i − l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]]] ∗ .3, j − l ∗ PStrain2[[i, j]]∗ Sin[StrainTheta[[i, j]]] ∗ .3}, {i + l ∗ PStrain2[[i, j]] ∗ Cos[StrainTheta[[i, j]] + Pi/2], j + l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]] + Pi/2]}, {i + l ∗ PStrain2[[i, j]]∗ Cos[StrainTheta[[i, j]]] ∗ .3, j + l ∗ PStrain2[[i, j]] ∗ Sin[StrainTheta[[i, j]]] ∗ .3}}]}]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; 111 (*Thissortsthevectorsintoprimary(larger, gMax)andsecondary*) (*(smaller, gMin)sothatthesmallerwillneverbecoveredbythelarger*) gMin = Table[If[Abs[PStrain1[[i, j]]] < Abs[PStrain2[[i, j]]], g1[[i + 1 − xrangemin, j + 1 − yrangemin]], g2[[i + 1 − xrangemin, j + 1 − yrangemin]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; gMax = Table[If[Abs[PStrain1[[i, j]]] < Abs[PStrain2[[i, j]]], g2[[i + 1 − xrangemin, j + 1 − yrangemin]], g1[[i + 1 − xrangemin, j + 1 − yrangemin]]], {i, xrangemin, xrangemax}, {j, yrangemin, yrangemax}]; (*the background image of the averaged magnitude images*) mag2D = Table[Graphics[{GrayLevel[N [mag[[i, j]]/256]], Rectangle[{i − 1, j − 1}, {i, j}]}], {i, 63}, {j, 63}]; (*This is stuff necessary for making the figures*) magxcenter = Floor[(xrangemax + xrangemin)/2]; magycenter = Floor[(yrangemax + yrangemin)/2]; scale = Graphics[{GrayLevel[1], Rectangle[{xrangemin − 2 − 3.5, yrangemin − 2.5}, {xrangemin − 2 − 5.5, yrangemin − 5.5}]}]; examplestrain = 1/3; bar = Graphics[ {RGBColor[0, 0, h ∗ (examplestrain)], Polygon[{{xrangemin − 2 − 4.5 + l ∗ .3 ∗ examplestrain, (yrangemin − 4)}, {(xrangemin − 2 − 4.5), (yrangemin − 4 + l ∗ examplestrain)}, {(xrangemin − 2 − 4.5 − l ∗ .3 ∗ examplestrain), (yrangemin − 4)}, {(xrangemin − 2 − 4.5), (yrangemin − 4 − l ∗ examplestrain)}}]}]; (*Regional analysis*) reg1xmin = xrangemax − 17; reg1xmax = xrangemax − 4; reg1ymin = yrangemax − 13; reg1ymax = yrangemax − 6; region1 = Table[{i, j}, {i, reg1xmin, reg1xmax}, {j, reg1ymin, reg1ymax}]; "The total strain in Region 1:" "Expansion is:" region1totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg1xmin, reg1xmax}], {j, reg1ymin, reg1ymax}] "Compression is:" region1totcom = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg1xmin, reg1xmax}], {j, reg1ymin, reg1ymax}] region1g = Table[Graphics[{Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg1xmin, reg1xmax}, {j, reg1ymin, reg1ymax}]; region1box = {Graphics[{Thickness[.004], Line[{{reg1xmin − .5, reg1ymin − .5}, {reg1xmin − .5, reg1ymax + .5}}]}], 112 Graphics[{Thickness[.004], Line[{{reg1xmin − .5, reg1ymax + .5}, {reg1xmax + .5, reg1ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg1xmax + .5, reg1ymax + .5}, {reg1xmax + .5, reg1ymin − .5}}]}], Graphics[{Thickness[.004], Line[{{reg1xmax + .5, reg1ymin − .5}, {reg1xmin − .5, reg1ymin − .5}}]}]}; reg2xmin = xrangemax − 17; reg2xmax = xrangemax − 4; reg2ymin = yrangemax − 21; reg2ymax = yrangemax − 14; region2 = Table[{i, j}, {i, xrangemax − 15, xrangemax − 4}, {j, yrangemax − 16, yrangemax − 9}]; "The total strain in Region 2:" "Expansion is:" region2totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg2xmin, reg2xmax}], {j, reg2ymin, reg2ymax}] "Compression is:" region2totexp = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg2xmin, reg2xmax}], {j, reg2ymin, reg2ymax}] region2g = Table[Graphics[{RGBColor[1, 0, 0], Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg2xmin, reg2xmax}, {j, reg2ymin, reg2ymax}]; region2box = {Graphics[{Thickness[.004], Line[{{reg2xmin − .5, reg2ymin − .5}, {reg2xmin − .5, reg2ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg2xmin − .5, reg2ymax + .5}, {reg2xmax + .5, reg2ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg2xmax + .5, reg2ymax + .5}, {reg2xmax + .5, reg2ymin − .5}}]}], Graphics[{Thickness[.004], Line[{{reg2xmax + .5, reg2ymin − .5}, {reg2xmin − .5, reg2ymin − .5}}]}]}; reg3xmin = xrangemax − 17; reg3xmax = xrangemax − 7; reg3ymin = yrangemax − 30; reg3ymax = yrangemax − 22; region3 = Table[{i, j}, {i, reg3xmin, reg3xmax}, {j, reg3ymin, reg3ymax}]; "The total strain in Region 3:" "Expansion is:" region3totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg3xmin, reg3xmax}], {j, reg3ymin, reg3ymax}] "Compression is:" region3totcom = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg3xmin, reg3xmax}], {j, reg3ymin, reg3ymax}] region3g = Table[Graphics[{RGBColor[0, 1, 0], Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg3xmin, reg3xmax}, {j, reg3ymin, reg3ymax}]; region3box = {Graphics[{Thickness[.004], Line[{{reg3xmin − .5, reg3ymin − .5}, {reg3xmin − .5, reg3ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg3xmin − .5, reg3ymax + .5}, {reg3xmax + .5, reg3ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg3xmax + .5, reg3ymax + .5}, {reg3xmax + .5, reg3ymin − .5}}]}], Graphics[{Thickness[.004], Line[{{reg3xmax + .5, reg3ymin − .5}, {reg3xmin − .5, reg3ymin − .5}}]}]}; reg4xmin = xrangemax − 26; 113 reg4xmax = xrangemax − 18; reg4ymin = yrangemax − 26; reg4ymax = yrangemax − 12; region4 = Table[{i, j}, {i, reg4xmin, reg4xmax}, {j, reg4ymin, reg4ymax}]; "The total strain in Region 4:" "Expansion is:" region4totexp = Sum[Sum[Clip[dxdx[[i, j]], {0, 10}] + Clip[dydy[[i, j]], {0, 10}], {i, reg4xmin, reg4xmax}], {j, reg4ymin, reg4ymax}] "Compression is:" region4totcom = Sum[Sum[Clip[dxdx[[i, j]], {−10, 0}] + Clip[dydy[[i, j]], {−10, 0}], {i, reg4xmin, reg4xmax}], {j, reg4ymin, reg4ymax}] region4g = Table[Graphics[{RGBColor[0, 0, 1], Thickness[.01], Line[{{i, j}, {i, j}}]}], {i, reg4xmin, reg4xmax}, {j, reg4ymin, reg4ymax}]; region4box = {Graphics[{Thickness[.004], Line[{{reg4xmin − .5, reg4ymin − .5}, {reg4xmin − .5, reg4ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg4xmin − .5, reg4ymax + .5}, {reg4xmax + .5, reg4ymax + .5}}]}], Graphics[{Thickness[.004], Line[{{reg4xmax + .5, reg4ymax + .5}, {reg4xmax + .5, reg4ymin − .5}}]}], Graphics[{Thickness[.004], Line[{{reg4xmax + .5, reg4ymin − .5}, {reg4xmin − .5, reg4ymin − .5}}]}]}; Show[mag2D, g1, g2, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; Show[mag2D, region1box, region2box, region3box, region4box, g1, g2, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; Show[mag2D, gMax, gMin, scale, bar, {AspectRatio → Automatic}, {ImageSize → {600, 600}}, PlotRange → {{xrangemin − 7, xrangemax + 8}, {yrangemin − 5, yrangemax + 5}}]; 114 Appendix E Mathematica: Strain Rate Tracography Processing (*The Strain tractography code*) eigens = Table[{{StrainTheta[[i, j]], Sign[PStrain1[[i, j]]]}, {ArcTan[Tan[StrainTheta[[i, j]] + Pi/2]], Sign[PStrain2[[i, j]]]}}, {i, 63}, {j, 63}]; (*Tract Numbers*) tractwid = .003; anglelimit = 35 ∗ Pi/180; (*Defining the graphics list where the tract pieces will go*) gTractBlue = {}; gTractRed = {}; (*The tractography code*) For[i = xrangemin, i < xrangemax + 1, For[j = yrangemin, j < yrangemax + 1, { PointOne = {i, j}; PointTwo = {i, j}; If[eigens[[i, j]][[1, 2]]==1, If[(Pi/4 > eigens[[i, j]][[1, 1]] > −Pi/4), {PointOne = {i − 0.5, j − 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]]}, PointTwo = {i + 0.5, j + 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]]}}, {PointOne = {i + 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]], j − 0.5}, PointTwo = {i − 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]], j + 0.5}}]; AppendTo[gTractBlue, Graphics[{RGBColor[0, 0, 1], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, j}, PointOne]; startPoint = PointOne; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, 115 {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractBlue, Graphics[{RGBColor[0, 0, 1], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; currentSquare = nextBox[{i, j}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractBlue, Graphics[{RGBColor[0, 0, 1], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; ]; If[eigens[[i, j]][[1, 2]]== − 1, If[(Pi/4 > eigens[[i, j]][[1, 1]] > −Pi/4), {PointOne = {i − 0.5, j − 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]]}, PointTwo = {i + 0.5, j + 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]]}}, 116 {PointOne = {i + 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]], j − 0.5}, PointTwo = {i − 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]], j + 0.5}}]; AppendTo[gTractRed, Graphics[{RGBColor[1, 0, 0], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, j}, PointOne]; startPoint = PointOne; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractRed, Graphics[{RGBColor[1, 0, 0], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; currentSquare = nextBox[{i, j}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[1, 1]] > −anglelimit&&eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractRed, Graphics[{RGBColor[1, 0, 0], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, 117 If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[1, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; ]; (*This works through the second principal vectors*) If[eigens[[i, j]][[2, 2]]==1, If[(Pi/4 > eigens[[i, j]][[2, 1]] > −Pi/4), {PointOne = {i − 0.5, j − 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]]}, PointTwo = {i + 0.5, j + 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]]}}, {PointOne = {i + 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]], j − 0.5}, PointTwo = {i − 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]], j + 0.5}}]; AppendTo[gTractBlue, Graphics[{RGBColor[0, 0, 1], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, j}, PointOne]; startPoint = PointOne; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractBlue, Graphics[{RGBColor[0, 0, 1], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; currentSquare = nextBox[{i, j}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; 118 While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractBlue, Graphics[{RGBColor[0, 0, 1], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; ]; If[eigens[[i, j]][[2, 2]]== − 1, If[(Pi/4 > eigens[[i, j]][[2, 1]] > −Pi/4), {PointOne = {i − 0.5, j − 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]]}, PointTwo = {i + 0.5, j + 0.5 ∗ Tan[eigens[[i, j]][[2, 1]]]}}, {PointOne = {i + 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]], j − 0.5}, PointTwo = {i − 0.5 ∗ Tan[eigens[[i, j]][[1, 1]]], j + 0.5}}]; AppendTo[gTractRed, Graphics[{RGBColor[1, 0, 0], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, j}, PointOne]; startPoint = PointOne; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractRed, Graphics[{RGBColor[1, 0, 0], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; currentSquare = nextBox[{i, j}, PointTwo]; startPoint = PointTwo; 119 If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − eigens[[i, j]][[2, 1]] > −anglelimit&&eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractRed, Graphics[{RGBColor[1, 0, 0], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 2]]&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1, 1]]}, If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]] − convector > −anglelimit&& eigens[[i, j]][[2, 2]]==eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 2]]&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[2, 1]]}, {continuous = False}]]; ]; ]; }; j++]; i++]; 120 Appendix F Mathematica: PC and DTI processing (*DTI − PCCombiningcode*) (*Here we declare file location and variables for the DTI data*) TimDir = "Gilbert44" SetDirectory[$InitialDirectory]; SetDirectory[TimDir]; xraw = Array[0&, {64, 64, 30}]; yraw = xraw; zraw = xraw; For[k = 1, k < 26, store = Import["v11" <> ToString[k] <> ".csv"]; For[i = 1, i < 65, For[j = 1, j < 65, yraw[[i, j, k]] = store[[i, j]]; j++]; i++]; store = Import["v12" <> ToString[k] <> ".csv"]; For[i = 1, i < 65, For[j = 1, j < 65, xraw[[i, j, k]] = store[[i, j]]; j++]; i++]; store = Import["v13" <> ToString[k] <> ".csv"]; For[i = 1, i < 65, For[j = 1, j < 65, zraw[[i, j, k]] = store[[i, j]]; j++]; i++]; k++]; (*jselectsthefirstslicethatwe′ llbeusingfor2DDTItractography*) j = 32; 121 (*This lines up the DTI and PC data*) DTIyshift = 17; DTIxshift = 0; (*thisturnstherawdataintovectors.DTIangledefinestheangles*) (*ofthediffusionvectorsfromhorizontal, andeigensactsasasignalfilter, *) (*tomaketheimageslookbetter, andtobetteroutlinethetongue.*) DTIangle = Table[0, {i, 64}, {k, 64}]; For[i = 2, i < 64, For[k = 1, k < 26, DTIangle[[i + DTIxshift, k + DTIyshift]] = ArcTan[xraw[[i, j, k]]/zraw[[i, j, k]]]; k++]; i++]; eigens = Table[If[Min[mag[[i, k]], mag[[i + 1, k]], mag[[i, k + 1]], mag[[i + 1, k + 1]]] < 64, {0, 0}, {DTIangle[[k, i]], 1}], {i, 63}, {k, 63}]; (*jselectsthesecondslicethatwe′ llbeusingfor2DDTItractography, andconvertsthedataintoavectorfield*) j = 33; DTIangle33 = Table[0, {i, 64}, {k, 64}]; For[i = 2, i < 64, For[k = 1, k < 26, DTIangle33[[i + DTIxshift, k + DTIyshift]] = ArcTan[xraw[[i, j, k]]/zraw[[i, j, k]]]; k++]; i++]; eigens33 = Table[If[Min[mag[[i, k]], mag[[i + 1, k]], mag[[i, k + 1]], mag[[i + 1, k + 1]]] < 64, {0, 0}, {DTIangle33[[k, i]], 1}], {i, 63}, {k, 63}]; (*corconstant defines the range of strain that shows up as color in the*) (*combinedfigures.1/corconstantdefinesthestrainassociatedwiththebrightesthue*) corconstant = 2.5; (*This finds the alignment by dot product of each *) (*principal strain vector with its corresponding diffusion vector*) cor1 = Table[corconstant ∗ PStrain1[[i, k]] ∗ Abs[Cos[DTIangle[[k, i]] − StrainTheta[[i, k]]]], {i, 63}, {k, 63}]; cor2 = Table[corconstant ∗ PStrain2[[i, k]] ∗ Abs[Sin[DTIangle[[k, i]] − StrainTheta[[i, k]]]], {i, 63}, {k, 63}]; (*This selects the more aligned of the two strain vectors for each voxel*) cor = Table[If[Abs[cor1[[i, k]]] > Abs[cor2[[i, k]]], cor1[[i, k]], cor2[[i, k]]], {i, 63}, {k, 63}]; (*Thissortsthemintocompressionandexpansion, tomakethecoloringeasierlateron*) corRed = Table[If[cor[[i, k]] < 0, −1 ∗ Clip[cor[[i, k]]], 0], {i, 63}, {k, 63}]; corBlue = Table[If[cor[[i, k]] > 0, Clip[cor[[i, k]]], 0], {i, 63}, {k, 63}]; cor1 = 122 Table[corconstant ∗ PStrain1[[i, k]] ∗ Abs[Cos[DTIangle33[[k, i]] − StrainTheta[[i, k]]]], {i, 63}, {k, 63}]; cor2 = Table[corconstant ∗ PStrain2[[i, k]] ∗ Abs[Sin[DTIangle33[[k, i]] − StrainTheta[[i, k]]]], {i, 63}, {k, 63}]; cor33 = Table[If[Abs[cor1[[i, k]]] > Abs[cor2[[i, k]]], cor1[[i, k]], cor2[[i, k]]], {i, 63}, {k, 63}]; corRed33 = Table[If[cor33[[i, k]] < 0, −1 ∗ Clip[cor33[[i, k]]], 0], {i, 63}, {k, 63}]; corBlue33 = Table[If[cor33[[i, k]] > 0, Clip[cor33[[i, k]]], 0], {i, 63}, {k, 63}]; (*sets the maximum connection angle for tractography*) anglelimit = 35 ∗ Pi/180; (*sets the tract thickness in the graphics*) th = .003; (*ensuresthatthetractsdon′ tgetcaughtinsomeloop*) tractlimit = 100; tractcount = 0; (*The tractography code for 2D DTI data*) gTractDTI = {}; For[i = xrangemin, i < xrangemax + 1, For[k = yrangemin, k < yrangemax + 1, { PointOne = {i, k}; PointTwo = {i, k}; If[eigens[[i, k]][[2]]==1, If[(Pi/4 > eigens[[i, k]][[1]] > −Pi/4), {PointOne = {i − 0.5, k − 0.5 ∗ Tan[eigens[[i, k]][[1]]]}, PointTwo = {i + 0.5, k + 0.5 ∗ Tan[eigens[[i, k]][[1]]]}}, {PointOne = {i − 0.5 ∗ Cot[eigens[[i, k]][[1]]], k − 0.5}, PointTwo = {i + 0.5 ∗ Cot[eigens[[i, k]][[1]]], k + 0.5}}]; AppendTo[gTractDTI, Graphics[{RGBColor[0, Abs[Sin[eigens[[i, k]][[1]]]], Abs[Cos[eigens[[i, k]][[1]]]]], Thickness[th], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, k}, PointOne]; startPoint = PointOne; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTI, Graphics[{RGBColor[0, Abs[Sin[eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]]]], Abs[Cos[eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; 123 currentSquare = nextBox[{i, k}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTI, Graphics[{RGBColor[0, Abs[Sin[eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]]]], Abs[Cos[eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; ]; }; k++]; i++]; gTractDTI33 = {}; For[i = xrangemin, i < xrangemax + 1, For[k = yrangemin, k < yrangemax + 1, { PointOne = {i, k}; PointTwo = {i, k}; If[eigens33[[i, k]][[2]]==1, If[(Pi/4 > eigens33[[i, k]][[1]] > −Pi/4), {PointOne = {i − 0.5, k − 0.5 ∗ Tan[eigens33[[i, k]][[1]]]}, PointTwo = {i + 0.5, k + 0.5 ∗ Tan[eigens33[[i, k]][[1]]]}}, {PointOne = {i − 0.5 ∗ Cot[eigens33[[i, k]][[1]]], k − 0.5}, PointTwo = {i + 0.5 ∗ Cot[eigens33[[i, k]][[1]]], k + 0.5}}]; AppendTo[gTractDTI33, Graphics[{RGBColor[0, Abs[Sin[eigens33[[i, k]][[1]]]], Abs[Cos[eigens33[[i, k]][[1]]]]], Thickness[th], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, k}, PointOne]; startPoint = PointOne; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens33[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTI33, Graphics[{RGBColor[0, Abs[Sin[eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]]]], Abs[Cos[eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]]]]], 124 Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; currentSquare = nextBox[{i, k}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens33[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTI33, Graphics[{RGBColor[0, Abs[Sin[eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]]]], Abs[Cos[eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; ]; }; k++]; i++]; (*Thesametracographycode, *) (* except the tracts are colored according to their correlation with the strain rate data*) gTractDTIPC = {}; For[i = xrangemin, i < xrangemax + 1, For[k = yrangemin, k < yrangemax + 1, { PointOne = {i, k}; PointTwo = {i, k}; If[eigens[[i, k]][[2]]==1, If[(Pi/4 > eigens[[i, k]][[1]] > −Pi/4), {PointOne = {i − 0.5, k − 0.5 ∗ Tan[eigens[[i, k]][[1]]]}, PointTwo = {i + 0.5, k + 0.5 ∗ Tan[eigens[[i, k]][[1]]]}}, {PointOne = {i − 0.5 ∗ Cot[eigens[[i, k]][[1]]], k − 0.5}, PointTwo = {i + 0.5 ∗ Cot[eigens[[i, k]][[1]]], k + 0.5}}]; AppendTo[gTractDTIPC, Graphics[{RGBColor[corRed33[[i, k]], 0, corBlue33[[i, k]]], Thickness[th], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, k}, PointOne]; 125 startPoint = PointOne; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTIPC, Graphics[{RGBColor[corRed33[[currentSquare[[1]], currentSquare[[2]]]], 0, corBlue33[[ currentSquare[[1]], currentSquare[[2]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; currentSquare = nextBox[{i, k}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTIPC, Graphics[{RGBColor[corRed33[[currentSquare[[1]], currentSquare[[2]]]], 0, corBlue33[[ currentSquare[[1]], currentSquare[[2]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; ]; }; k++]; i++]; gTractDTIPC33 = {}; For[i = xrangemin, i < xrangemax + 1, For[k = yrangemin, k < yrangemax + 1, { PointOne = {i, k}; PointTwo = {i, k}; If[eigens33[[i, k]][[2]]==1, If[(Pi/4 > eigens33[[i, k]][[1]] > −Pi/4), {PointOne = {i − 0.5, k − 0.5 ∗ Tan[eigens33[[i, k]][[1]]]}, 126 PointTwo = {i + 0.5, k + 0.5 ∗ Tan[eigens33[[i, k]][[1]]]}}, {PointOne = {i − 0.5 ∗ Cot[eigens33[[i, k]][[1]]], k − 0.5}, PointTwo = {i + 0.5 ∗ Cot[eigens33[[i, k]][[1]]], k + 0.5}}]; AppendTo[gTractDTIPC33, Graphics[{RGBColor[corRed33[[i, k]], 0, corBlue33[[i, k]]], Thickness[th], Line[{PointOne, PointTwo}]}]]; currentSquare = nextBox[{i, k}, PointOne]; startPoint = PointOne; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens33[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTIPC33, Graphics[{RGBColor[corRed33[[currentSquare[[1]], currentSquare[[2]]]], 0, corBlue33[[ currentSquare[[1]], currentSquare[[2]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; currentSquare = nextBox[{i, k}, PointTwo]; startPoint = PointTwo; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − eigens33[[i, k]][[1]] > −anglelimit&&xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = 0}, {continuous = False}]; While[continuous, endPoint = lineInBox[startPoint, currentSquare, convector]; AppendTo[gTractDTIPC33, Graphics[{RGBColor[corRed33[[currentSquare[[1]], currentSquare[[2]]]], 0, corBlue33[[ currentSquare[[1]], currentSquare[[2]]]]], Thickness[th], Line[{startPoint, endPoint}]}]]; startPoint = endPoint; currentSquare = nextBox[currentSquare, startPoint]; If[anglelimit > eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]] − convector > −anglelimit&& xrangemin ≤ currentSquare[[1]] ≤ xrangemax&&yrangemin ≤ currentSquare[[2]] ≤ yrangemax&& tractcount < tractlimit&&eigens33[[currentSquare[[1]], currentSquare[[2]]]][[2]] == 1, {continuous = True, convector = eigens33[[currentSquare[[1]], currentSquare[[2]]]][[1]], tractcount = tractcount + 1}, {continuous = False}]; ]; ]; }; k++]; i++]; (*definingtractregionsfordataanalysis.GG = genioglossus, LGG = lowergenioglossus, andV = verticalis*) 127 GGpoints = { {28, 21, 32}, {29, 21, 32}, {30, 20, 32}, {31, 20, 32}, {32, 20, 33}, {33, 20, 34}, {34, 23, 34}, {35, 23, 34}, {36, 28, 33}, {37, 28, 33} }; gGG = {} GGstrain = 0; For[i = 1, i < Length[GGpoints] + 1, For[j = GGpoints[[i]][[2]], j < GGpoints[[i]][[3]] + 1, AppendTo[gGG, Graphics[Point[{GGpoints[[i]][[1]], j}]]]; GGstrain = GGstrain + cor[[GGpoints[[i]][[1]], j]]; j++]; i++]; LGGpoints = { {18, 19, 26}, {19, 19, 26}, {20, 17, 26}, {21, 17, 26}, {22, 15, 33}, {23, 15, 33}, {24, 15, 33}, {25, 18, 33}, {26, 18, 33}, {27, 18, 33} }; gLGG = {} LGGstrain = 0; For[i = 1, i < Length[LGGpoints] + 1, For[j = LGGpoints[[i]][[2]], j < LGGpoints[[i]][[3]] + 1, AppendTo[gLGG, Graphics[{RGBColor[0, 0, 1], Point[{LGGpoints[[i]][[1]], j}]}]]; LGGstrain = LGGstrain + cor[[LGGpoints[[i]][[1]], j]]; j++]; i++]; Vpoints = { {30, 17, 19}, {31, 16, 19}, {32, 15, 19}, {33, 14, 19}, {34, 14, 22}, {35, 14, 22}, 128 {36, 14, 22}, {37, 14, 22} }; gV = {} Vstrain = 0; For[i = 1, i < Length[Vpoints] + 1, For[j = Vpoints[[i]][[2]], j < Vpoints[[i]][[3]] + 1, AppendTo[gV, Graphics[{RGBColor[1, 0, 0], Point[{Vpoints[[i]][[1]], j}]}]]; Vstrain = Vstrain + cor[[Vpoints[[i]][[1]], j]]; j++]; i++]; Show[mag2D, gTractDTI, gTractDTI33, g1, g2, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; Show[mag2D, gTractDTI, gTractDTI33, {AspectRatio → Automatic}, {ImageSize → {600, 600}}, PlotRange → {{xrangemin − 7, xrangemax + 8}, {yrangemin − 5, yrangemax + 5}}]; GGstrain LGGstrain Vstrain Show[mag2D, gTractDTIPC, gTractDTIPC33, {AspectRatio → Automatic}, {ImageSize → {600, 600}}, PlotRange → {{xrangemin − 7, xrangemax + 8}, {yrangemin − 5, yrangemax + 5}}]; Show[mag2D, gTractDTIPC, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; Show[mag2D, gTractDTIPC33, {AspectRatio → Automatic}, {ImageSize → {900, 900}}]; 129 130 Bibliography [1] S. ABD-EL-MALEK. The part played by the tongue in mastication and deglutition. J Anat, 89(2):250–254, Apr 1955. [2] Eytan Bardan, Mark Kern, Ronald C Arndorfer, Candy Hofmann, and Reza Shaker. Effect of aging on bolus kinematics during the pharyngeal phase of swallowing. Am J Physiol Gastrointest Liver Physiol, 290(3):G458–G465, Mar 2006. [3] P.J. Basser, J. Mattiello, and D. LeBihan. MR diffusion tensor spectroscopy and imaging. Biophysical Journal, 66:259–267, 1994. [4] Gloria Chi-Fishman. Quantitative lingual, pharyngeal and laryngeal ultrasonography in swallowing research: a technical review. Clin Linguist Phon, 19(67):589–604, 2005. [5] G.G. Cleveland, D.C. Chang, C.F. Hazelwood, and H.E. Rorschach. Nuclear magnetic resonance measurements of skeletal muscle: anisotropy of the diffusion coefficient of the intracellular water. Biophys J, 16:1043–1053, 1976. [6] I. J. Cook, W. J. Dodds, R. O. Dantas, M. K. Kern, B. T. Massey, R. Shaker, and W. J. Hogan. Timing of videofluoroscopic, manometric events, and bolus transit during the oral and pharyngeal phases of swallowing. Dysphagia, 4(1):8–15, 1989. [7] B.M. Damon, Z. Ding, A.W. Anderson, A.S. Freyer, and J.C. Gore. Validation of diffusion tensor MRI-based muscle fiber tracking. Magnetic Resonance Medicine, 48:97–104, 2002. [8] W. J. Dodds, E. T. Stewart, and J. A. Logemann. Physiology and radiology of the normal oral and pharyngeal phases of swallowing. AJR Am J Roentgenol, 154(5):953–963, May 1990. [9] Jiangang Dou, Wen-Yih I Tseng, Timothy G Reese, and Van J Wedeen. Combined diffusion and strain mri reveals structure and function of human myocardial laminar sheets in vivo. Magn Reson Med, 50(1):107–113, Jul 2003. [10] T. Ebbers, L. Wigstrm, A. F. Bolger, B. Wranne, and M. Karlsson. Noninvasive measurement of time-varying three-dimensional relative pressure fields within the human heart. J Biomech Eng, 124(3):288–293, Jun 2002. 131 [11] R. F. Flaherty, S. Seltzer, T. Campbell, R. M. Weisskoff, and R. J. Gilbert. Dynamic magnetic resonance imaging of vocal cord closure during deglutition. Gastroenterology, 109(3):843–849, Sep 1995. [12] R. J. Gilbert, S. Daftary, T. A. Campbell, and R. M. Weisskoff. Patterns of lingual tissue deformation associated with bolus containment and propulsion during deglutition as determined by echo-planar mri. J Magn Reson Imaging, 8(3):554–560, 1998. [13] R. J. Gilbert, T. G. Reese, S. J. Daftary, R. N. Smith, R. M. Weisskoff, and V. J. Wedeen. Determination of lingual myoarchitecture in whole tissue by nmr imaging of anisotropic water diffusion. Am J Physiol, 275(2 Pt 1):G363–G369, Aug 1998. [14] Richard J Gilbert, Lee H Magnusson, Vitaly J Napadow, Thomas Benner, Ruopeng Wang, and Van J Wedeen. Mapping complex myoarchitecture in the bovine tongue with diffusion-spectrum magnetic resonance imaging. Biophys J, 91(3):1014–1022, Aug 2006. [15] Richard J Gilbert and Vitaly J Napadow. Three-dimensional muscular architecture of the human tongue determined in vivo with diffusion tensor magnetic resonance imaging. Dysphagia, 20(1):1–7, 2005. [16] Richard J Gilbert, Van J Wedeen, Lee H Magnusson, Thomas Benner, Ruopeng Wang, George Dai, Vitaly J Napadow, and Kenneth K Roche. Three-dimensional myoarchitecture of the bovine tongue demonstrated by diffusion spectrum magnetic resonance imaging with tractography. Anat Rec A Discov Mol Cell Evol Biol, 288(11):1173–1182, Nov 2006. [17] R.J. Gilbert, L.H. Magnusson, V.J. Napadow, T. Benner, R. Wang, and V.J. Wedeen. Mapping complex myoarchitecture in the bovine tongue with diffusion spectrum magnetic resonance imaging. Biophysical Journal, 91:1014–1022, 2006. [18] R.J. Gilbert, V.J Wedeen, T. Benner, R. Wang, G. Dai, V.J. Napadow, and K.K. Roche. Three-dimensional myoarchitecture of the bovine tongue demonstrated by diffusion spectrum magnetic resonance imaging with tractography. Anatomical Record, 288A:1173–1182, 2006. [19] A.F. Gmitro and A.S. Alexander. Use of a projection reconstruction method to decrease motion sensitivity in diffusion weighed MRI. Magnetic Resonance Medicine, 29:835–838, 1993. [20] J.V. Hajnal, M. Doran, A.S. Hall, A.G Collins, A. Oatridge, J.M. Pennock, I.R. Young, and G.M. Bydder. MR imaging of anisotropically restricted diffusion of water in the nervous system: technical, anatomic, and pathologic considerations. J or Computer Assisted Tomography, 15:1–18, 1991. 132 [21] S. L. Hamlet, M. Stone, and T. H. Shawker. Posterior tongue grooving in deglutition and speech: preliminary observations. Dysphagia, 3(2):65–68, 1988. [22] Herrel, Cleuren, and Vree. Kinematics of feeding in the lizard agama stellio. J Exp Biol, 199(Pt 8):1727–1742, 1996. [23] K. M. Hiiemae and J. B. Palmer. Food transport and bolus formation during complete feeding sequences on foods of different initial consistency. Dysphagia, 14(1):31–42, 1999. [24] A.A. Holmes, D.F. Scollan, and R.L. Winslow. Direct histological validation of diffusion tensor MRI in formaldehyde-fixed myocardium. Magnetic Resonance Medicine, 44:157–161, 2000. [25] E.W. Hsu, D.L. Buckley, J.D. Bui, S.J. Blackband, and J.R. Forder. Twocomponent diffusion tensor MRI of isolated perfused hearts. Magnetic Resonance Medicine, 45:1039–1045, 2001. [26] Bernd Jung, Michael Markl, Daniela Fll, and Jrgen Hennig. Investigating myocardial motion by mri using tissue phase mapping. Eur J Cardiothorac Surg, 29 Suppl 1:S150–S157, Apr 2006. [27] P. J. Kahrilas, S. Lin, J. A. Logemann, G. A. Ergun, and F. Facchini. Deglutitive tongue action: volume accommodation and bolus propulsion. Gastroenterology, 104(1):152–162, Jan 1993. [28] P. J. Kahrilas, J. A. Logemann, S. Lin, and G. A. Ergun. Pharyngeal clearance during swallowing: a combined manometric and videofluoroscopic study. Gastroenterology, 103(1):128–136, Jul 1992. [29] C. L. Lazarus, J. A. Logemann, B. R. Pauloski, A. W. Rademaker, C. R. Larson, B. B. Mittal, and M. Pierce. Swallowing and tongue function following treatment for oral and oropharyngeal cancer. J Speech Lang Hear Res, 43(4):1011–1023, Aug 2000. [30] D. LeBihan, J.F. Mangin, C. Poupon, C.A Clark, S. Pappata, N. Molko, and H. Chabriat. Diffusion testor imaging: concepts and applications. Journal of Magnetic Resonance Imaging, 13:534–546, 2001. [31] D. J. Maddock and R. J. Gilbert. Quantitative relationship between liquid bolus flow and laryngeal closure during deglutition. Am J Physiol, 265(4 Pt 1):G704– G711, Oct 1993. [32] M.E.J. Moseley, J. Kucharczyk, H.S. Asgari, and D. Norman. Anisotropy in diffusion-weighted MRI. Magnetic Resonace Medicine, 19:321–326, 1991. [33] V. J. Napadow, Q. Chen, V. Mai, P. T. So, and R. J. Gilbert. Quantitative analysis of three-dimensional-resolved fiber architecture in heterogeneous skeletal muscle tissue using nmr and optical imaging methods. Biophys J, 80(6):2968– 2975, Jun 2001. 133 [34] V. J. Napadow, Q. Chen, V. J. Wedeen, and R. J. Gilbert. Biomechanical basis for lingual muscular deformation during swallowing. Am J Physiol, 277(3 Pt 1):G695–G701, Sep 1999. [35] V. J. Napadow, Q. Chen, V. J. Wedeen, and R. J. Gilbert. Intramural mechanics of the human tongue in association with physiological deformations. J Biomech, 32(1):1–12, Jan 1999. [36] Vitaly J Napadow, Roger D Kamm, and Richard J Gilbert. A biomechanical model of sagittal tongue bending. J Biomech Eng, 124(5):547–556, Oct 2002. [37] M. A. Nicosia and J. A. Robbins. The fluid mechanics of bolus ejection from the oral cavity. J Biomech, 34(12):1537–1544, Dec 2001. [38] J. B. Palmer, N. J. Rudin, G. Lara, and A. W. Crompton. Coordination of mastication and swallowing. Dysphagia, 7(4):187–200, 1992. [39] D. Paydarfar, R. J. Gilbert, C. S. Poppel, and P. F. Nassab. Respiratory phase resetting and airflow changes induced by swallowing in humans. J Physiol, 483 ( Pt 1):273–288, Feb 1995. [40] Timothy G Reese, David A Feinberg, Jiangang Dou, and Van J Wedeen. Phase contrast mri of myocardial 3d strain by encoding contiguous slices in a single shot. Magn Reson Med, 47(4):665–676, Apr 2002. [41] J. R. Reichenbach, R. Venkatesan, D. A. Yablonskiy, M. R. Thompson, S. Lai, and E. M. Haacke. Theory and application of static field inhomogeneity effects in gradient-echo imaging. J Magn Reson Imaging, 7(2):266–279, 1997. [42] K. K. Smith. Morphology and function of the tongue and hyoid apparatus in varanus (varanidae, lacertilia). J Morphol, 187(3):261–287, Mar 1986. [43] K.K. Smith and W.M. Kier. Trunks, tongues, and tentacles: moving with skeletons of muscle. American Scientist, 77:29–35, 1989. [44] E.O. Stejskal and J.E. Tanner. Use of spin echoes in a pulsed magnetic field gradient to study anisotropic restricted diffusion and flow. Journal of Chemical Physics, 43:3597–3603, 1965. [45] M. Stone. A three-dimensional model of tongue movement based on ultrasound and x-ray microbeam data. J Acoust Soc Am, 87(5):2207–2217, May 1990. [46] M. Stone, E.P. Davis, A.S. Douglas, M. NessAiver, R. Gullapalli, W.S. Levine, and A. Lundberg. Modeling the motion of the internal tongue from tagged cinemri images. J Acoust Soc Am., 109(6):2974–82, 2001. [47] M. Stone, M.A. Epstein, and K. Iskarous. Functional segments in tongue movement. Clin Linguist Phon., 18(6-8):507–21, 2004. 134 [48] A. Thexton and K. M. Hiiemae. The effect of food consistency upon jaw movement in the macaque: a cineradiographic study. J Dent Res, 76(1):552–560, Jan 1997. [49] A. J. Thexton. Mastication and swallowing: an overview. Br Dent J, 173(6):197– 206, Oct 1992. [50] A. J. Thexton and J. D. McGarrick. Tongue movement of the cat during lapping. Arch Oral Biol., 33:331–39, 1988. [51] A. J. Thexton and J. D. McGarrick. The electromyographic activities of jaw and hyoid musculature in different ingestive behaviours in the cat. Arch Oral Biol, 39(7):599–612, Jul 1994. [52] W. Y. Tseng, T. G. Reese, R. M. Weisskoff, T. J. Brady, and V. J. Wedeen. Myocardial fiber shortening in humans: initial results of mr imaging. Radiology, 216(1):128–139, Jul 2000. [53] D.S. Tuch, T.G. Reese, M.R. Weigel, N. Makris, J.W. Belleveau, and V.J. Wedeen. High angular resolution diffusion imaging reveals intravoxel white matter fiber heterogeneity. Magn Res Med, 48:577–582, 2002. [54] C.C VanDonkelaar, L.J. Kretzers, P.H.M. Bovendeerd, L.M.A. Lataster, K. Nicolay, J.D. Janssen, and M.R. Drost. Diffusion tensor imaging in biomechanical studies of skeletal muscle function. Journal of Anatomy, 194:79–88, 1999. [55] V. J. Wedeen, T. G. Reese, V. J. Napadow, and R. J. Gilbert. Demonstration of primary and secondary muscle fiber architecture of the bovine tongue by diffusion tensor magnetic resonance imaging. Biophys J, 80(2):1024–1028, Feb 2001. [56] V. J. Wedeen, R. M. Weisskoff, T. G. Reese, G. M. Beache, B. P. Poncelet, B. R. Rosen, and R. E. Dinsmore. Motionless movies of myocardial strain-rates using stimulated echoes. Magn Reson Med, 33(3):401–408, Mar 1995. [57] B. Wein, R. Bckler, and S. Klajman. Temporal reconstruction of sonographic imaging of disturbed tongue movements. Dysphagia, 6(3):135–139, 1991. [58] J.C. Wu, E.C. Wong, E.L. Arrindell, K.B. Simons, A. Jesmanowics, and J.S. Hyde. In vivo determination of the anisotropic diffusion of water and the T1 and T2 times in the rabbit lens by high-resolution magnetic resonance imaging. Invest Opthalmol Vis Sci, 34:2151–2158, 1993. [59] Scott R Youmans and Julie A G Stierwalt. Measures of tongue function related to normal swallowing. Dysphagia, 21(2):102–111, Apr 2006. [60] X. Zheng and A. Pang. Volume deformation for tensor visualization. Visualization, pages 379–86, 2002. 135