Diagnostics

API:C++C#Python

Diagnostics 설정을 사용하면 다음이 가능합니다:

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

  • 캡처 중 추가 Diagnostics 및 디버깅 데이터 수집

이 기능은 포인트 클라우드나 컬러 이미지에 문제가 발생할 때 유용합니다.

팁

Capturing High Quality Point Clouds 에 대한 가이드라인을 참조하십시오.

이 설정이 활성화되면 추가 데이터가 .zdf 파일에 저장됩니다. .zdf 파일을 zivid 지원 팀에 보내면 더 나은 지원과 더 확실하게 문제 해결을 할 수 있습니다.

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)

Zivid API에 대한 자세한 내용은 API Reference 을 참조하십시오.

Settings2D Diagnostics API

2D 전용 캡처에서도 Diagnostics를 활성화할 수 있습니다. 활성화하면 추가 데이터가 2D 프레임과 함께 .zdf 파일에 저장됩니다. 결과로 생성되는 .zdf 파일에는 Frame2D 가 포함되며, Frame2D API를 사용하여 로드해야 합니다. 저장 및 로드 워크플로우는 2D Image Capture Process 를 참조하십시오.

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)

참고

Diagnostics은 캡처 시간, RAM 사용량 및 .zdf 파일의 크기를 늘립니다.

팁

Zivid 지원팀에 문제를 보고할 때 Diagnostics 기능을 활성화하는 것이 좋습니다.

Version History

SDK

Changes

2.18.0

2D 캡처에 대한 Diagnostics 지원이 추가되었습니다 (Settings2D::Diagnostics).

2.6

Diagnostics API가 추가되었습니다.