2.3 Results
2.3.1.2 Brain Aneurysm Simulation
Format of CFD results
The medical imaging data used to create the pulsatile CFD simulation and 4D flow data at the request of the Purdue faculty members were previously obtained at the University of California San Francisco under an IRB-approved study. Both contrast- enhanced MRA and phase-contrast MR velocimetry (4D Flow MRI) datasets were obtained from the same patient. The CFD model was created using Hypermesh (Altair; Troy, Michigan) and the incompressible NS equations were solved numerically using Fluent [82]. The 4D flow data was processed using ParaView, Geomagic Design software (3D systems; Rock Hill, South Carolina), and EnSight (ANSYS Inc; Canonsburg, PA). Using ParaView’s Python counsel, the contrast-enhanced MRA images were segmented and streamlined [84]. Using Geomagic Design software the region of interest was defined, noise was reduced, and the data was converted into IGES format. The data was then converted into VTK format using an in-house software where it was imported into EnSight for data visualization.
Both the CFD simulation and 4D flow data were presented to MARVL as a .case file, only including velocity information. The CFD simulation had sixty-six time steps
and the 4D flow data had twenty time steps. The disparity in the number of time steps is expected. The 4D flow data depends on velocity encoding parameters implemented during the MRI scan, while the CFD simulation time step can be set to whatever the researcher determines appropriate to achieve simulation convergence and resolve details of the flow field during viewing.
Convert CFD results into 3D format
The collaborator was interested in viewing blood flow patterns that were caused by the morphology of a brain aneurysm. Therefore, the streamline workflow was used. First, the CFD .case file was loaded into ParaView. Next, with collaboration from the collaborator, the ratio between the number of streamlines and the radius for each “tubed” streamline was determined. Then each of the sixty-six time steps were saved as .vrml files using the Python script and placed in a specific folder.
The 4D flow data did not include the brain aneurysms wall mesh, only velocity encoded streamlines. However, the collaborator wanted to use the wall mesh data from the CFD simulation. Therefore, in Unity, the CFD wall mesh was manually overlaid on the 4D flow data. As regard to ParaView, the same exact process was done for the 4D flow .case file where each of the twenty time steps were saved as .vrml files (without the wall mesh for each time step) and placed in a specific folder.
Reorganize CFD results
The following was done for both cases (CFD and 4D flow). The provided Blender template and the folder that contained the .vrml files from ParaView were copied into a
master folder. The Blender template was then opened where the instructions were completed, and the script was run. For each time step, it took roughly twelve seconds to load. For the CFD simulation, after it was created, it was discovered that the wall mesh of the brain aneurysm was double-sided, and each time step had too many vertices.
Therefore, the secondary Blender Python script was run to remove duplicate mesh structures and decrease the number of vertices. For the 4D flow data, after it was created, slight alterations were made to the Blender scene due to the model not having a wall mesh (was later added in Unity). Finally, the Blender project was exported as a .fbx file.
Add supplementary data, customize for a given VR environment, and arrange for VR environment
Both the CFD simulation and 4D flow data did not include any supplementary data. It only included the velocity information. The following was done for both cases (CFD and 4D flow). The Unity template was opened and then refreshed, causing the .fbx file (was then a prefab) to appear in the Unity template. Next, the CFD prefab was dropped into the hierarchy where it was properly scaled and repositioned. For the brain aneurysm CFD simulation, the wall mesh was originally solid white. While in VR, a solid white mesh could disorientate the user. Instead, a red material was created and then applied to the wall mesh. To add a wall mesh to the 4D flow data, the wall mesh of the CFD simulation was added into the 4D flow Unity scene, where it was then manually overlaid on the 4D flow data. Next, for both cases, the “Set up CFD Scene” editor script was run where the streamlines were tagged, and numerous C# scripts were assigned to various game objects. Next, the velocity scale was properly labeled while the other labels
(wall indices) and flow waveform were turned off. The final iteration of the CFD simulation and 4D flow data, using the Oculus Rift, are shown in Figure 35.
Figure 35: Upper- CFD Brain Aneurysm simulation shown using Oculus Rift. Lower- 4D flow data Brain Aneurysm shown using Oculus Rift
Clinical Feedback
A neurosurgeon observed the brain aneurysm CFD simulation and 4D flow data in VR and had the following to say:
“I see this as a first step in using flow dynamics to predict which aneurysms are more likely to rupture and therefore which ones need to be surgically treated.… First we need to visualize the problem which can be done using the 3D virtual model to objectify what
is bad and what is good.”