Diagnostics(诊断)

诊断设置允许:

  • 使用不同的处理设置在 frame 上重新运行处理( reprocess() ),而无需重新捕获

  • 在捕获期间收集额外的诊断和调试数据

当遇到点云或彩色图像问题时这很有用。

小技巧

请参阅指南 捕获高质量的点云

启用此设置后,附加数据将保存在.zdf文件中。请将.zdf文件发送给Zivid支持团队,以获得更好的帮助和更彻底的故障排除。

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)

如需了解更多关于Zivid API的信息,请查看 API参考

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图像捕获流程 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)

备注

诊断功能会增加捕获时间、RAM使用率和.zdf文件的大小。

小技巧

建议在向 Zivid 的支持团队报告问题时启用诊断功能。

版本历史

SDK

变更

2.18.0

Added diagnostics support for 2D captures (Settings2D::Diagnostics).

2.6

增加了诊断API。