Diagnostics
The diagnostics setting allows to:
re-run processing (
reprocess()) on aframeusing different processing settings without having to re-capturecollect additional diagnostics and debugging data during capture
This is useful when encountering issues with the point cloud or the color image.
Tip
See our guidelines on Capturing High Quality Point Clouds.
When this setting is enabled the additional data will be saved in the .zdf file. Send the .zdf file to zivid support team to enable better assistance and more thorough troubleshooting.
Settings Diagnostics API
Zivid::Settings::Diagnostics
new Zivid.NET.Settings { Diagnostics = .. }
zivid.settings.diagnostics
std::cout << "Configuring settings for 2D+3D capture" << std::endl;
auto settings = Zivid::Settings{ Zivid::Settings::Acquisitions{
Zivid::Settings::Acquisition{ Zivid::Settings::Acquisition{} } },
Zivid::Settings::Color{ Zivid::Settings2D{
Zivid::Settings2D::Acquisitions{ Zivid::Settings2D::Acquisition{} } } } };
std::cout << "Enabling diagnostics" << std::endl;
settings.set(Zivid::Settings::Diagnostics::Enabled::yes);
std::cout << "Capturing 2D+3D frame" << std::endl;
const auto frame = camera.capture2D3D(settings);
const auto dataFile = "FrameWithDiagnostics.zdf";
std::cout << "Saving frame with diagnostic data to file: " << dataFile << std::endl;
frame.save(dataFile);
Console.WriteLine("Configuring settings for 2D+3D capture");
var settings = new Zivid.NET.Settings
{
Acquisitions = { new Zivid.NET.Settings.Acquisition { } },
Color = new Zivid.NET.Settings2D { Acquisitions = { new Zivid.NET.Settings2D.Acquisition { } } }
};
Console.WriteLine("Enabling diagnostics");
settings.Diagnostics.Enabled = true;
Console.WriteLine("Capturing 2D+3D frame");
using (var frame = camera.Capture2D3D(settings))
{
var dataFile = "FrameWithDiagnostics.zdf";
Console.WriteLine("Saving frame with diagnostic data to file: " + dataFile);
frame.Save(dataFile);
}
print("Configuring settings for 2D+3D capture")
settings = zivid.Settings(
acquisitions=[zivid.Settings.Acquisition()],
color=zivid.Settings2D(acquisitions=[zivid.Settings2D.Acquisition()]),
)
print("Enabling diagnostics")
settings.diagnostics.enabled = True
print("Capturing 2D+3D frame")
frame = camera.capture_2d_3d(settings)
data_file = "FrameWithDiagnostics.zdf"
print(f"Saving frame with diagnostic data to file: {data_file}")
frame.save(data_file)
For more information on the Zivid API check out our API Reference.
Settings2D Diagnostics API
Diagnostics can also be enabled for 2D-only captures.
When enabled, the additional data will be saved in the .zdf file together with the 2D frame.
The resulting .zdf file contains a Frame2D and must be loaded using the Frame2D API; see 2D Image Capture Process for the save and load workflow.
Zivid::Settings2D::Diagnostics
new Zivid.NET.Settings2D { Diagnostics = .. }
zivid.Settings2D.diagnostics
std::cout << "Configuring settings for 2D capture" << std::endl;
auto settings2D = Zivid::Settings2D{ Zivid::Settings2D::Acquisitions{ Zivid::Settings2D::Acquisition{} } };
std::cout << "Enabling 2D diagnostics" << std::endl;
settings2D.set(Zivid::Settings2D::Diagnostics::Enabled::yes);
std::cout << "Capturing 2D frame" << std::endl;
const auto frame2D = camera.capture2D(settings2D);
const auto dataFile2D = "Frame2DWithDiagnostics.zdf";
std::cout << "Saving 2D frame with diagnostic data to file: " << dataFile2D << std::endl;
frame2D.save(dataFile2D);
Console.WriteLine("Configuring settings for 2D capture");
var settings2D = new Zivid.NET.Settings2D
{
Acquisitions = { new Zivid.NET.Settings2D.Acquisition { } }
};
Console.WriteLine("Enabling 2D diagnostics");
settings2D.Diagnostics.Enabled = true;
Console.WriteLine("Capturing 2D frame");
using (var frame2D = camera.Capture2D(settings2D))
{
var dataFile2D = "Frame2DWithDiagnostics.zdf";
Console.WriteLine("Saving 2D frame with diagnostic data to file: " + dataFile2D);
frame2D.Save(dataFile2D);
}
print("Configuring settings for 2D capture")
settings_2d = zivid.Settings2D(acquisitions=[zivid.Settings2D.Acquisition()])
print("Enabling 2D diagnostics")
settings_2d.diagnostics.enabled = True
print("Capturing 2D frame")
frame_2d = camera.capture_2d(settings_2d)
data_file_2d = "Frame2DWithDiagnostics.zdf"
print(f"Saving 2D frame with diagnostic data to file: {data_file_2d}")
frame_2d.save(data_file_2d)
Note
Diagnostics increases the capture time, the RAM usage, and the size of the .zdf file.
Tip
It is recommended to enable diagnostics when reporting issues to Zivid’s support team.
Version History
SDK |
Changes |
|---|---|
2.18.0 |
Added diagnostics support for 2D captures ( |
2.6 |
Diagnostics API is added. |