Table of Contents
- Table of Contents
- 0. Preliminaries
- 1. General Layout
- 2. SIVERT Workflow
- 3. Filtering Options
- 4. Important Hotkeys and Actions
0. Preliminaries
This HowTo is focused on the needs of the SIVERT and Bergen pCT projects. You might also want to have a look at the First Steps Tutorial for OpenWalnut.
1. General Layout
In general, we have these three panels that are most important to the user.
First we have the panel labeled "1", the "3D-View" or the Render Panel.
This is the panel where all the action takes place.
It is where you will see all your points and tracks and everything else your data contains.
Interacting with the rendered data can also be done here.
You have the option to zoom in and out,
to move the camera, or, depending on your chosen modules,
directly edit the rendered data and many more features.
The panel labeled "2", the Module Panel.
As you might have seen in the screenshot,
this panel does not only contain the modules,
but the modules panel is the important one for the start.
This panel is a node editor, means you can add nodes,
remove them and connect them in different ways.
To add or remove them you can use the buttons in the toolbar.
These modules determine what is rendered.
They load the data, process them, write them, or do way more specific things,
depending on the use case.
And last but not least we have the panel labeled "3", the Control Panel.
Every module can have properties that influence how that module interacts with the data.
These properties can be found and changed here.
2. SIVERT Workflow
2.1 Loading data
The data can be loaded in different ways.
The two easiest ways are using the load button and drag'n'drop.
In general, the file extension .csv should be used for the SIVERT data that you want to process with OpenWalnut.
So now if you have the file you can either just drag it into the program or use the load button shown in the following image:
This will automatically create a Data Module
2.2 Processing data
Now that we have loaded some data, we need to prepare it for the rendering.
To do this we have to connect our newly created Data Module to a Filter Proton Data Module.
By using the right-click on the Data Module:
2.3 Rendering data
As the Filter Proton Data Module now has processed the incoming data, it is now converted into three different outputs:
These outputs contain from left to right:
- Point data
- Track data
- Point and Track data
The point data can be connected to a Point Renderer Module or a Point Connector Module. Each of these will render the points in the "3D View" but the Point Connector Module will allow you to manually create track data.
The track data can be connected to a Fiber Display Module. Keep in mind that OpenWalnut uses the word fiber for track.
The point and track data can be connected to a Point Connector Module and allows you to manually create track data using the already available track data as a basis.
All of these outputs can also be connected to different modules, even modules not listed here. But those are the most relevant ones for rendering.
If you don't see the rendered data in your "3D View", press the space bar as this centers the data in the view.
2.4 Manually create track data
The track data can be created with the Point Connector Module
All connecting commands can only be used while holding shift. To add one particle to the current selected track, you have to left-click them. To remove one particle, a right-click can be used. If you want to add or remove multiple particles at once, you can use the corresponding mouse button and drag over all the particles.
The properties for this module are:
Under "Fibers" we can choose the Selected track which we are currently modifying.
We can also Add a new track or Remove the currently selected track. We can also use the Toggle button to toggle the visibility of the current track.
The last category chooses our selection type for the multi selection. Here we have Brush, Line Loop and Rectangle.
Under the next category we have the Undo Changes and Redo Changes buttons. Those do exactly what they are named after. They undo and redo changes. Alternatively, this can also be done by using ctrl + z (undo) and ctrl + y (redo).
Then we have the "Assistance" category.
Here we can enable the SAPT, which helps with the multi-selection. It works in the way that it chooses the selected particle for every layer that results in the smallest amount of angle change over the whole track. We can also enable the adaptive visibility, which hides points that are further away than the specified angle. These hidden particles are also excluded from the multi-selection. Then we have the opacity of the hidden points. This is also used for the toggled tracks. At last, we have the scaling. The scaling can help immensely when manually connecting in packed areas. The scaling can also be used with shortcuts: x, y, z for doubling and shift + x, y, z for halving the respective axis.
The last two categories can be explained as one. Here we have two properties each passed through from the internal Point Renderer and Fiber Display. With these you can Activate / Deactivate the specific module. Or choose the size of what they render.
2.5 Saving manually created track data
To save the now created track data, we have to connect the output of the Point Connector Module to a Write CSV Module.
Then we also have to connect the output of the Data Module with the second input of the Write CSV Module:
Then we have to click on the filename property of the Write CSV Module to choose a path to which the track old CSV data with an additional column for the new track data is saved to.
3. Filtering Options
The Filter Proton Data Module has many properties, which can be used to further filter the incoming data.
First we have the "Select Columns" category.
Here you can choose which CSV column is used for the internal variables.
- X, Y, Z are the coordinates of the points
- Particle Data Group is the type of that specific particle
- Energy deposition is the energy of that particle at this position
- Event id is the number of the track this particle belongs to
- Parent id is the number of the track this particle split off from. This is used for the primary and secondary filtering
The "Filtering" category filters out the primaries or the secondaries.
Or a specific type of particle.
It also contains the "Rename Particle Types" category,
which enables you to modify the name of a particle and save it in your local config.
The "Visualization" category adds some color to your data.
Here you can choose if the points are Size[d] by energy deposition, so the size correlates to how much energy this particle has.
It is also possible to Color by energy deposition which then uses the gradient below to color all the points.
The gradient is fully customizable.
You have the color stops (Upside down triangles) and the transparency curve (Points).
Points can be added by right-clicking into the gradient and removed by left-clicking on them and pressing the delete key. The lower these points are, the more transparent this color becomes. The points can also be freely moved in any direction.
The color stops are added by right-clicking above the gradient and removed in the same manner as the points.
They can be moved from left to right, and the color can be changed by double-clicking on the gradient.
All of these gradient changes are only visible after hitting the Apply button.
The last category is the "Event ID Limitation".
This basically decides which span of tracks will be displayed.
It also limits the displayed points to only those which are on the tracks.
These changes also need to be applied.
4. Important Hotkeys and Actions
Action | Meaning |
---|---|
Space bar | Centers the "3D View" |
Left-Mouse Drag | Rotates the "3D View" |
Middle-Mouse Drag | Moves the "3D View" |
Right-Mouse Drag | Moves moveable objects inside the "3D View" (e.g. ROIs) |
Delete | Removes the selected module when in Module Panel |