|
2 | 2 | The VG NDE SDK contains python interfaces to write the .xvgi file format, to enable the easy import of supported |
3 | 3 | data into VG software. It is also possible to add pre-defined or custom meta information for the imported objects, |
4 | 4 | for use in reporting or data exports, e.g. when connecting to Q-DAS products. |
5 | | - |
6 | 5 |  |
| 6 | +Three kinds of data can be descibed via .xvgi files: |
| 7 | + * Volume data |
| 8 | + * Mesh data |
| 9 | + * Projection data for reconstruction. |
7 | 10 |
|
8 | 11 | > Oftentimes .vgl projects can already be created by the software of the acquisition system. In these cases there |
9 | 12 | > is no benefit to using the VG NDE SDK. |
10 | 13 |
|
| 14 | +# Describing data for import |
| 15 | + |
| 16 | +The data that is supposed to be imported must be described using the structures provided by the SDK. The three |
| 17 | +classes for holding all import parameters are the `VolumeSection`, the `MeshSection` and the `ReconstructionSection`. |
| 18 | +The parameters necessary to set up the import of the data mirror the parameters available in the various importers |
| 19 | +in VG software. A good way to set up .xvgi files for certain data is to first manually configure the import in VG |
| 20 | +software, making sure it works, and then setting up a corresponding section object. |
| 21 | +The parameter objects must then be written to an .xvgi file using the `XVGIWriter`. VG software always assumes .xvgi |
| 22 | +files to be UTF-8 encoded, so be sure to set the correct encoding when writing the file. |
| 23 | + |
| 24 | +The section classes also contain documentation for all parameters. HTML documentation for them can be generated in |
| 25 | +the docs folder like so: |
| 26 | + ```shell |
| 27 | + make html |
| 28 | + ``` |
| 29 | + |
| 30 | +> The `examples` folder contains examples of how to create files referencing volume or mesh data, or projections for |
| 31 | +> reconstruction. |
| 32 | +
|
| 33 | + |
| 34 | +# Referenced data |
| 35 | + |
| 36 | +.xvgi files reference the data that is to be imported via absolute file paths. These file paths must be accessible to |
| 37 | +the application loading the .xvgi file, making it dependent on the original location of the data. If the |
| 38 | +referenced data is intended to be moved or copied together with the .xvgi file (and the .vgl file eventually created |
| 39 | +from it), the **[vg-data] folder** must be used. |
| 40 | + |
| 41 | +# [vg-data] folder |
| 42 | + |
| 43 | +Data that is referenced by the file **test.xvgi** can be stored in the matching **[vg-data] test** folder. Any file paths |
| 44 | +that point into a [vg-data] folder using the same name as the .xvgi file will be automatically adjusted to point into |
| 45 | +the [vg-data] folder next to the .xvgi file when it is loaded. Organizing and referencing data this way ensures that |
| 46 | +.xvgi files and their associated [vg-data] folder can be moved and copied around easily. |
11 | 47 |
|
12 | 48 | # Using .xvgi files |
13 | 49 | VG software products starting from 2025.1 version are able to load these files, and support their use in |
14 | 50 | * Open |
15 | 51 | * Merge object(s) |
16 | 52 | * Batch processing |
17 | 53 |
|
| 54 | +.xvgi files are compatible with VG software version as new as or newer than the VG NDE SDK version that was used |
| 55 | +to write the file. VG software older than the SDK version used to create an .xvgi file might not be able to load these |
| 56 | +files. Currently all files created with this SDK are compatible with VG software version 2025.1 and above. |
| 57 | + |
18 | 58 | Once loaded, the resulting project can be saved as a normal .vgl file, and the .xvgi file is no longer necessary. |
19 | 59 | It is only used for the initial import of the data, and can be discarded. It is strongly recommended to use the name |
20 | 60 | of the .xvgi file when saving, as is proposed by the software. This helps maintaining the association with referenced |
21 | 61 | data. |
22 | 62 |
|
| 63 | +> myVGL can not open .xvgi files. A licenses application needs to be used to turn the .xvgi file into a .vgl file, which |
| 64 | +> can then be viewed in myVGL in the usual way. |
23 | 65 |
|
24 | | -# Referencing data |
25 | | - |
26 | | -.xvgi files reference the data that is to be imported via absolute file paths. These file paths must be accessible to |
27 | | -the application loading the file, making the created files dependent on the original location of the data. If the |
28 | | -referenced data is intended to be moved or copied together with the .xvgi file (and the .vgl file eventually created |
29 | | -from it), **the [vg-data] folder must be used.** |
30 | | - |
31 | | -# [vg-data] folder |
32 | | - |
33 | | -Data that is referenced by the file **test.xvgi** can be stored in the matching "[vg-data] test" folder. Any file paths |
34 | | -that point into a [vg-data] folder using the same name as the .xvgi file will be automatically adjusted to point into |
35 | | -the [vg-data] folder next to the file when it is loaded. Organizing and referencing data this way ensures that .xvgi |
36 | | -files and their associated [vg-data] folder can be moved and copied around easily. |
37 | 66 |
|
38 | 67 |  |
39 | 68 |
|
40 | | -# Getting Started |
41 | | -Requires Python 3.9 or newer. The `examples` folder contains example of how to create files referencing volume or mesh |
42 | | -data, or projections for reconstruction. |
| 69 | +# Requirements |
43 | 70 |
|
44 | | -# Build and Test |
| 71 | +Requires Python 3.9 or newer. |
45 | 72 |
|
46 | | - ```shell |
47 | | - uv sync |
48 | | - uv run poe test |
49 | | - ``` |
|
0 commit comments