|
Description
The Raytrace Paths dialog lists all of the unique raytrace paths that were recorded during an Advanced Raytrace, where a raytrace path is a unique sequence of events (ex. specular reflection from surface X) undertaken during a ray's propagation during a raytrace. The specific details of a path(s) can be reported to the output window, raytrace paths can be redrawn to the 3D view, and the raytrace paths table can be filtered based on ray selection filter criteria.
Consider, for example, a single lens element bringing a collimated plane wave to focus on a detector. The imaging path through the lens, from source to detector, involves the sequence of events shown below. The path detail report below can be interpreted as the following; the rays on this path left the source at event #0, specularly transmitted through Surface 1 of Lens 1 at event #1, specularly transmitted through Surface 2 of Lens 2 at event #3, and then was absorbed by the Plane Surface at event #4. As seen in the path summary below the event listing, there were 10 rays that took this sequence of events through the system and those 10 rays had a total of 0.917 units of power.
.png)
The wealth of information available in the raytrace paths table allows for significant diagnostic, analysis and reporting capability describing and quantifying how rays arrived at any surface of interest in the system.
Additionally, the raytrace paths dialog allows the displayed path data to be "filtered" so that only paths meeting ray selection filter criteria of interest are displayed. This capability allows for efficient, customized processing of the raytrace path data so that only the paths of interest can be quickly identified. This is an important functionality, as even a relatively simple system can generate hundreds of thousands, or millions of unique raytrace paths that need to be processed. Observe in the dialog below that only the first two rows of the table show non-zero values in the second and third columns, labeled "Filtered Power" and "Filtered Ray Count". The values shown in the "filtered" columns are a consequence of having applied the ray selection filter shown at the bottom of the dialog, which is set to identify paths including an event with surface "Geometry.Plane.Surface" (the absorbing detector in this specific example). The rows with zero values shown in the "filtered" columns indicate that no rays on those specific paths satisfied the ray selection filter requirement.
.png)
The dialog shown below is a variation of that shown above, where the paths with zero values for the "Filtered Ray Count" column have been hidden from the display by using the "Hide all filtered paths with no rays" option that can be found on the right mouse-click context menu option in the raytrace paths dialog. The resulting raytrace paths dialog now displays only those paths which have rays satisfying the specified ray selection filter requirement.
.png)
Navigation
This feature is accessible by selecting Tools > Reports > Raytrace Paths from the menu. Raytrace Paths data must have been generated via an Advanced Raytrace call or by loading previously saved raytrace path data back into FRED via the Raytrace menu options.
Controls
The table below describes the components of the Raytrace Paths dialog. Some additional dialog capabilities are the following:
•Double click on a column header to sort the table on that quantity (double click multiple times to change the order from ascending to descending)
•Right mouse click in the table to expose a context menu containing additional options for path reports, path redrawing, and hiding/showing rows
•Left mouse clicking on the top-left (gray) cell in the table will select the entire table
|
Control
|
Description
|
|
Column zero (blank)
|
This column contains no data but is useful for row selection in the table. Left mouse click in this column, holding the Shift key to select contiguous rows and the CTRL key to select non-contiguous rows. Left mouse clicking in the top-left blank cell will select all rows in the table.
|
|
Path Number
|
This column specifies the internal path ID number associated with that row of the table. Path numbers are unique IDs generated during the raytrace when the path data is collected and can be used during analyses in order to isolate contributions from rays on the designated path. For example, an analysis surface could be configured to use the ray selection filter criteria, "Rays on the specified ray path", so that only rays on that path are included in an analysis. If random reseeding is enabled, and there is randomness in the starting ray distribution, path ID numbers will change between subsequent raytraces (i.e. the same sequence of events may be path N for one trace and then may be path K for a subsequent raytrace).
|
|
Filtered Power
|
Displays the total incoherent power for rays on the ray path that meet the ray selection filter requirement defined in the raytrace paths dialog, if one has been applied. If no ray selection filter has been applied, then the Filtered Power will be equal to the Total Power as long as all rays used during path generation are still active.
If coherent rays are traced, the displayed power value will not correspond to the total power in the coherent field produced by the rays on the path (i.e. coherent properties of the rays on the path are ignored). To recover the path power for coherent rays, a field summation calculation (ex. irradiance, scalar field, vector field, etc.) must be performed. A ray selection filter can be applied to an analysis surface that will isolate the rays on the specified path and the total integrated power for those rays will be reported to the output window when the analysis is performed.
Note: If a ray filter has been applied to the paths via the scripting command, ApplyFilterToRayPaths(), the Filtered Power and Filtered Ray Count values displayed in the GUI will be updated accordingly, though the ray selection filter displayed in the dialog is not. The ray selection filter displayed in the dialog is independent of any filter defined and applied during scripting, or elsewhere.
|
|
Filtered Ray Count
|
Displays the number of rays on the ray path that meet the ray selection filter requirement defined in the raytrace paths dialog, if one has been applied. If no ray selection filter has been applied, then the Filtered Ray Count will be equal to the Total Ray Count as long as all rays used during path generation are still active.
Note: If a ray filter has been applied to the paths via the scripting command, ApplyFilterToRayPaths(), the Filtered Power and Filtered Ray Count values displayed in the GUI will be updated accordingly, though the ray selection filter displayed in the dialog is not. The ray selection filter displayed in the dialog is independent of any filter defined and applied during scripting, or elsewhere.
|
|
Total Power
|
Displays the total incoherent power for all rays on the ray path that was recorded during raytracing. This value is static and not subject to any applied ray selection filtering operations.
If coherent rays are traced, the displayed power value will not correspond to the total power in the coherent field produced by the rays on the path (i.e. coherent properties of the rays on the path are ignored). To recover the path power for coherent rays, a field summation calculation (ex. irradiance, scalar field, vector field, etc.) must be performed. A ray selection filter can be applied to an analysis surface that will isolate the rays on the specified path and the total integrated power for those rays will be reported to the output window when the analysis is performed.
|
|
Total Ray Count
|
Displays the total number of rays on the ray path that was recorded during raytracing. This value is static and not subject to any applied ray selection filtering operations.
|
|
Event Count
|
Displays the total number of events in the path. A path event is an interaction with a node (specular reflect, specular transmit, diffract, scatter, absorb, etc.) and includes rays departing their associated source node in the event count.
|
|
Spec Refl Count
|
Displays the number of specular reflections that occurred along the sequence of events in the path.
|
|
Spec Tran Count
|
Displays the number of specular transmissions that occurred along the sequence of events in the path. Rays leaving their associated source node will be counted as a specular transmission event in the path.
|
|
Scat Refl Count
|
Displays the number of scatter reflection events that occurred along the sequence of events in the path.
|
|
Scat Tran Count
|
Displays the number of scatter transmission events that occurred along the sequence of events in the path.
|
|
Absorb Count
|
Displays the number of absorption events (i.e. ray was stopped from further propagation at a surface interaction) that occurred along the sequence of events in the path.
|
|
Diffract Count
|
Displays the number of diffraction events along the sequence of events in the path. When rays interact with a grating surface, only non-zero diffraction orders are considered as diffraction events in the path listing. Zero-order diffraction events are logged as specular transmission or specular reflection.
|
|
Spec Ancestry
|
Displays the specular ancestry level of the rays that propagated along the path. Specular ancestry levels are incremented any time there is a specular splitting interaction and the path followed the "child" ray direction leaving the event.
|
|
Scat Ancestry
|
Displays the scatter ancestry level of the rays that propagated along the path. Scatter ancestry is incremented any time scattered rays are generated at an interaction and the path follows the resulting scattered rays.
|
|
Last Entity
|
Displays the full name of the last entity that the path interacted with. In the case where rays are emitted from a source and do not interact with any other nodes, the last entity would be the source node from which rays on the path were emitted.
|
|
First Entity
|
Displays the full name of the first entity that the path interacted with. This will generally be the source node from which rays on the path were emitted.
|
|
Ray Selection Filter
|
|
This section of the raytrace paths dialog allows a set of ray selection filter criteria to be defined that can be applied to the raytrace paths table in order to quickly process the path data in search of paths satisfying specific criteria. In order for this capability to function, the ray data associated with the raytrace paths must exist in the ray buffer
For every ray passing the ray selection filter criteria, its power is accumulated into the "Filtered Power" value for the associated ray path and the "Filtered Count" for the associated ray path is incremented. At the end of the filtering operation, the "Filtered Power" and "Filtered Ray Count" columns show the contributions of the filtered rayset to their associated paths.
An example work flow for using the ray selection filter capability might look like the following:
1. Specify the desired ray selection filter criteria
2. Press the Apply Filter to All Paths button
3. Right mouse click in the paths table and select, "Hide all filtered paths with no rays"
4. Sort the table as desired by double clicking on the table column headers (ex. Last Entity)
5. Right mouse click on selected paths and output path details, redraw ray history, etc.
Ray selection filtering can be removed using the following procedure:
1. Right mouse click in the ray selection filter definition and select, "Reset to Default"
2. Press the Apply Filter to All Paths button
|
|
Apply Filter to All Paths
|
When pressed, rays in the ray buffer are evaluated against the supplied ray selection filter criteria and the "Filtered Power" and "Filtered Ray Count" column values are updated for all paths in the table.
|
|
|
|
OK
|
Accept settings and close dialog box.
|
|
Cancel
|
Discard settings and close dialog box.
|
|
Help
|
Access this Help page.
|
Right mouse clicking in the raytrace paths table exposes a context menu with the following controls, each of which will operate on the currently selected paths. Contiguous rows in the table can be selected by holding down the SHIFT key while using the mouse to perform the row selection. The CTRL key can be held while using the mouse to select non-contiguous rows in the table.
|
Menu Option
|
Description
|
|
Output Path Details
|
Prints to the output window the details of the selected path(s). For each event along the selected path, the following information is displayed:
|
Event
|
Zero-indexed event number along the path sequence.
|
|
Tran/Refl
|
Indicates whether or not the event was in transmission or reflection.
|
|
Parent/Child
|
Indicates whether the event followed the parent ray or the child ray of the event interaction.
|
|
Specular/Scatter
|
Indicates whether the event was a specular or scatter interaction.
|
|
Sequen/NonSeq
|
Indicates whether the event occurred when raytracing in the sequential or non-sequential mode.
|
|
Diffract Order
|
Specifies the the non-zero diffraction order that occurred if the event was with a grating surface. Non-diffracting surfaces will list the diffraction order for the event as 0.
|
|
Entity
|
Object with which the event interaction occurred.
|
|
|
Output Path Summaries
|
Prints to the output window a duplicate of the column data listed in the raytrace paths table, excluding the "filtered" columns.
|
|
Output Path Report
|
Prints to the output window a duplicate of the column data listed in the raytrace paths table, including the"filtered" columns.
This option is very useful for copying raytrace paths of interest to the FRED output window for transfer to another program for analysis or documentation.
|
|
|
|
Redraw Ray History
|
Redraws all rays on the the selected path(s) to the 3D view. The "Create/use ray history file" option in the Advanced Raytrace must have been selected when the path table was generated in order for this option to be active. This option ignores the ray selection filtering capability of the raytrace paths dialog.
|
|
Redraw Every N'th Ray in History
|
Opens a dialog that allows the user to enter how many rays of all rays on the selected path should be drawn in the 3D view. This option ignores the ray selection filtering capability of the raytrace paths dialog.
This option is useful when the selected path contains so many rays that redrawing all of them would make it difficult to visually assess the raytrace path in the 3D view. The "Create/use ray history file" option in the Advanced Raytrace must have been selected when the path table was generated in order for this option to be active.
|
|
Redraw Filtered Ray History
|
Redraws to the 3D view only those rays on the selected path(s) which satisfy the ray selection filter criteria applied to the raytrace paths dialog.
|
|
|
|
Copy to User-Defined Path List
|
Adds the selected path(s) to the User-defined path list.
|
|
Isolate Surfaces in Highlighted Paths
|
Isolates all surfaces of the selected raytrace paths in the 3D view. Note that this isolation is independent of raytrace path redrawing.
|
|
Hide all filtered paths with no rays
|
When selected, any row in the path table whose "Filtered Ray Count" value is zero will be hidden from view in the raytrace paths table.
This option is useful after a ray selection filter operation has been applied to the raytrace paths table. The resulting paths with zero filtered rays satisfying the applied ray selection filter can be quickly hidden by selecting this option.
Note: The number of visible and hidden rows is reported in text above the top header row of the paths table.
|
|
|
|
Hide Row(s)
|
Hides selected row(s) or group of rows in the raytrace paths table.
Note: The number of visible and hidden rows is reported in text above the top header row of the paths table.
|
|
Hide Column(s)
|
Hides selected column(s) or group of columns in the raytrace paths table.
|
|
Show Row(s)
|
Shows only the selected row(s) or group of row in the raytrace paths table (non selected rows become hidden).
Note: The number of visible and hidden rows is reported in text above the top header row of the paths table.
|
|
Show All Rows
|
Restores all hidden row(s) in the raytrace paths table.
|
|
Show All Columns
|
Restores all hidden column(s) in the raytrace paths table.
|
Application Notes
Path Filtering and Advanced Raytrace Ray Filtering
The Advanced Raytrace allows for rays to be deleted or deactivated using a customizable ray selection filter immediately following the conclusion of the Advanced Raytrace. The accumulation and tabulation of raytrace path data occurs during the raytrace and, consequently, any ray filtering applied on the Advanced Raytrace will not affect the total number of paths reported nor the values of the "Total Power" and "Total Raycount" columns of the raytrace paths table.
However, application of the ray filtering option on an Advanced Raytrace can affect the behavior of the "Filtered Power" and "Filtered Raycount" columns in the path table. Filtering of the raytrace paths data using the ray selection criteria on the raytrace paths dialog relies on the presence of rays in the ray buffer that are associated with the paths in the raytrace paths table. When a ray selection filter in the raytrace paths table is specified and applied to the paths, the rays in the ray buffer are inspected to determine whether or not they satisfy the ray selection filter criteria, and then the "Filtered Power" and "Filtered Raycount" columns of the raytrace paths table are updated accordingly. If a ray passes the filter requirement test, its power is accumulated into the "Filtered Power" column of the ray's associated path and the "Filtered Ray Count" value is incremented by one.
In the event that a ray selection filter was applied on the Advanced Raytrace step, then some rays in the ray buffer will have been deleted or removed immediately following the raytrace. As a consequence, the deleted (or inactive) rays contributions are not available for inclusion in the ray selection filtering step on the raytrace paths dialog. In this scenario, the Filtered Power and Filtered Ray Count columns will always be less than the Total Power and Total Ray Count values that were recorded during the raytrace.
Path Filtering Example - Filter Paths Through Surface
Consider the system shown below, where a tubular barrel assembly contains an uncoated, wedged glass window followed by an annular baffle vane. A small, transparent "notch" surface is embedded in the annular baffle that allows rays to pass through unobstructed. A lambertian source emits into the assembly, with rays being absorbed by the teal "detector" surface at the opposite end. In order for rays to arrive at the detector, they must either pass through the center of the annular baffle vane or through the transparent "notch" surface embedded in the annular baffle vane.
.png)
First, an Advanced Raytrace is performed with the "Determine Raypaths" and "Create/use ray history file" options toggled and the "Draw" option untoggled. This will generate the raytrace paths data during the raytrace without rendering the rays to the 3D view during the raytrace.
Next, the Tools > Reports > Raytrace Paths table is opened, providing access to the paths database and presenting all recorded paths through the system.
.png)
The Ray Selection Filter section of the raytrace paths table will be used to identify all paths that contain at least one event with the "notch" surface, where the event can be any type of interaction (transmit, reflect, diffract, etc.). Double clicking on the default "All rays" filter specification allows editing of the criteria to use the "On a path including specified surface" criterion shown below.
.png)
After defining the ray selection filter criteria:
1. Press the "Apply Filter to All Paths" button
2. Right mouse click in the paths table and choose the, "Hide all filtered paths with no rays" option
When the filter was applied to the paths table, the "Filtered Power" and "Filtered Ray Count" columns of all paths not meeting the specified ray filter criteria were set to zero. The second step then allows those paths to be quickly hidden from the table view, as shown below. The resulting paths table shows that ray paths 15 and 49 end on the Detector Surface and include at least one event with the notch surface.
.png)
The paths of interest can be selected in the table and then right mouse clicking will reveal a context menu that allows selection of options such as "Redraw Ray History" and "Output Path Details", which will operate only on the selected rows.
.png)
In the image below, paths 15 and 49 have been redrawn in the 3D view using the Redraw Ray History option, giving visual confirmation that these paths both pass through the notch surface and end on the detector.
.png)
Variations on the procedure described above, using any combination of the ray selection filter capability, allow the raytrace paths table to be efficiently processed so that only the paths of real interest in the analysis can be easily identified.
Event Count vs. Intersection Count
Every ray path is defined by a series of events describing how the ray(s) associated with a ray path have propagated through the system. It may be useful to perform an advanced raytrace with ray paths enabled in order to determine how many events rays along a given path undergo for use in a ray selection criteria. Keep in mind, however, that event counts are not the same as intersection counts. When applying a ray selection criteria based on the event count listing in a raytrace path report, the intersection count (this is what the ray selection criteria use) is always one less than the event count in the raytrace path listing. Specifically, the raytrace paths count leaving the source node as an event, which is not included as part of a ray's intersection count.
Image Artifact Diagnostic Tool
If a raytrace has been performed using the Advanced Raytrace option with ray paths enabled, contributing raypath information for a particular region of interest can be reported directly from the chart view for an incoherent spatial analysis or analyses that use a Directional Analysis Entity. This feature can be executed by holding down the ALT keyboard button while using the mouse to select a region of the main chart view (turn of "perspective view" using the right mouse button menu option). This procedure is outlined in the following example:
|

|
1.Perform an Advanced Raytrace (ray paths on).
2.Perform an incoherent spatial or directional analysis (irradiance, illuminance, color image, position spots diagram, etc.).
3.In the main chart view hold ALT while using the mouse to select a region of interest (shown in red).
4.Resulting path information is printed to the output window.
|
The image artifact diagnostic tool prints the following information to the output window:
•Analysis surface used
•Selected region x-min, x-max, y-min and y-max
•Path number, path power and ray count for each contributing ray path (up to the first 30 paths, sorted by power)
•Remaining path count and total power for paths not listed in the output window
Related Topics
Advanced Raytrace
Stray Light Report
|
Copyright © Photon Engineering, LLC
|
|