撮影条件の取得/設定

デバイスがオープンできたら、デバイスの状態を確認し、必要なら設定を行います。

撮影速度/シャッター速度の取得

PUCRESULT result;
UINT32 nFramerate, nShutterFps;

result = PUC_GetFramerateShutter(hDevice, &nFramerate, &nShutterFps);
if (PUC_CHK_FAILED(result))
{
    return;
}

撮影速度/シャッター速度の設定

撮影速度を1,000fps、シャッター速度を1/2,000fpsに設定します。

PUCRESULT result;

result = PUC_SetFramerateShutter(hDevice, 1000, 2000);
if (PUC_CHK_FAILED(result))
{
    return;
}

注釈

撮影速度を変更すると、解像度は設定した撮影速度の最大解像度に変更されます。

解像度の設定

解像度を1246px × 800pxに設定します。

result = PUC_SetResolution(hDevice, 1246, 800);
if (PUC_CHK_FAILED(result))
{
    return;
}

注釈

現在の撮影速度で設定可能な解像度はPUC_GetMaxResolutionで取得できます。

設定可能な解像度は1px単位ではなく縦横で最小単位があります。 その単位はPUC_GetResolutionLimitで取得できます。

露光期間の設定

設定可能な最小露光・非露光時間をnsec単位で取得します。

UINT32 nMinExpOnTime, nMinExpOffTime;

result = PUC_GetMinExpsoeTime(hDevice, &nMinExpOnTime, &nMinExpOffTime)
if (PUC_CHK_FAILED(result))
{
    return;
}

1,000fpsでオープンシャッター(1,000,000nsec相当)に指定する場合は以下のようにします。

UINT32 nExpOpen = 1000000 - nMinExpOffTime;

result = PUC_SetExposeTime(hDevice, nExpOpen, nMinExpOffTime)
if (PUC_CHK_FAILED(result))
{
    return;
}

注釈

内部計算の都合上、最大12nsecの誤差が生じます。

本関数により露光・非露光期間を直接設定した場合、PUC_GetFramerateShutter関数で返される値は不正な値になります。