SimVascular / svZeroDSolver

A C++ lumped-parameter solver for blood flow and pressure in hemodynamic networks
Other
6 stars 18 forks source link

svZeroDSolver Visualization Application #120

Closed emilinmathew closed 3 weeks ago

emilinmathew commented 1 month ago

Use Case

The svZeroDVisualization application provides a platform for users to visualize their 0D network from their input JSON file and interactively select nodes to view their 0D simulation results.

Problem

The CSV output generated by svZeroDSolver can be extensive and challenging to interpret, especially for users without technical expertise. Key issues include:

Data Overload: The CSV file often contains large volumes of data, making it difficult to parse and analyze manually. Additionally, internal variables are listed at the end of the file, separated by node names and variable names, complicating the tracking of node data.

Lack of Intuitive Representation: The raw CSV format lacks an intuitive representation of the 0D network and does not include graphs or visualizations of pressure/flow data, which are essential for understanding the results more effectively.

Here's what a sample CSV output looks like:

image

Solution

The svZeroDVisualization tool, which will be integrated with the svZeroDSolver (https://github.com/SimVascular/svZeroDSolver), has several features to enhance the readability and usability of the output data, such as:

Graphical Visualization: Displays graphical representations of the pressure and flow data to simplify interpretation. Summary Information: Provides the simulation parameters for the selected node, reminding users of the node's features when reviewing the data. This feature helps in understanding the context of the node’s data and facilitates easier interpretation of the results. User-Friendly Interface: Users can interactively explore and understand the data without requiring extensive technical background.

image

Alternatives considered

We explored using an alternative circuit visualization application with Schemdraw, which takes JSON files and displays the 0D circuit. However, this solution faced scalability issues with larger circuits due to overlapping elements, which hindered readability. Additionally, the directed graph visualization approach, which allows for interactive node selection, offers a clearer and more user-friendly representation of the 0D network. This approach improves usability and facilitates a better understanding of the data by allowing users to interactively select and inspect nodes.

Additional context

No response

Code of Conduct