Diagnostics

The diagnostics setting allows to:

  • re-run processing (reprocess()) on a frame using different processing settings without having to re-capture

  • collect 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

Go to source

source

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);
Go to source

source

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);
}
Go to source

source

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

Go to source

source

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);
Go to source

source

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);
}
Go to source

source

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 (Settings2D::Diagnostics).

2.6

Diagnostics API is added.