ver.16.0.1 '12.8.27現在
計測データを保存するには、データを作成後、dbStoreで保存します。
※本機能はMATLAB R2010bで検証しています。
参照サイトを変更するRetrieve+dbStoreをインストールすると、参照サイトが自動的に「LHD」に設定されます。デフォルトの参照サイトを変更したい場合はこちらをご覧ください。
テンポラリファイルの作成場所を変更するdbStoreはテンポラリファイルを作成します。デフォルトではカレントディレクトリに作成します。
テンポラリファイルを作成するディレクトリを変更したい場合は、次の手順に沿って環境変数「DBSTORE_TMP」を作成してください。(インストール時には環境変数「DBSTORE_TMP」は作成されません)
ショットデータとパラメータデータの2種類、またはショットデータ、パラメータデータのいづれかを準備します。
ショットデータの準備バイナリ配列データ、またはフレームに対応したカメラ画像データを保存します。
例)
data = zeros(1000, 1, 'single');
initParamListでパラメータを格納する領域を作成します。
その後、setParamでパラメータを1つずつ格納します。
例)
pl = initParamList();
pl = setParam(pl, 'offset', 10.0);
pl = setParam(pl, 'gain', int32(2));
param_list = initParamList();
[param_list, tf_code] = setParam(param_list, pname, pvalue);
param_list(struct) : | パラメータリスト initParamList()で初期化する必要がある |
---|---|
pname(text) : | パラメータ名 |
pvalue(numeric,text) : | パラメータ値 行列は設定できない 整数として設定したい場合は、明示的にcastする必要がある 符号なしは符号付きになる |
param_list(struct) : | パラメータリスト |
tf_code(logical) : | trueは成功 falseはエラー |
ショットデータ(バイナリ配列データ、またはフレームに対応したカメラ画像データ)とパラメータデータをdbStoreで保存します。
ショットデータの登録処理を途中でキャンセルすることもできます。
dbsOpenでショットデータの登録を開始し、チャネルデータ数分dbsWriteを繰り返します。dbsCloseでショットデータの登録を終了します。
例)
data = zeros(1000, 1, 'single');
pl = initParamList();
pl = setParam(pl, 'offset', 10.0);
pl = setParam(pl, 'gain', int32(2));
des = dbsOpen('',
'LABCOM', 50500, 1, 'RAW');
code = dbsWrite(des, 1, pl, data, 'verbose');
dbsClose(des);
des = dbsOpen(mail_address, data_name, shot_number, sub_shot, data_type, ...)
mail_address(text) : | 登録者のメールアドレス このメールアドレスが削除するために必要です |
---|---|
data_name(text) : | データ名 データ取得するためのデータ名です データ名はこちらから申請してください |
shot_number(numeric) : | ショット番号 |
sub_shot(numeric) : | サブショット番号 |
data_type(text) : | 'RAW' or 'ANA' 生データの場合は'RAW', それ以外は'ANA'にします |
des : | 戻り値 0 < : dbStore識別子 他の関数に使用します 0 => : エラーコード |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |
'cndb_timeout',t : | データベース接続時のタイムアウト時間(t秒)を設定する |
'cndb_retry',n : | データベース接続時のタイムアウト繰り返し回数(n回)を設定する |
code = dbsWrite(dbs_des, channel_number, param_struct, data_array, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
channel_number(numeric) : | チャネル番号 |
param_struct(struct) : | パラメータリスト initParamList関数で初期化し、setParam関数で設定する パラメータがない場合は, 'struct([])' とする |
data_array(numeric, libpointer) : | データ配列(libpointerクラスでも可) データがない場合は、'int16([])' とする |
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'imagetype',image_type : | チャネルデータのデータ型 ※補足参照 'INT8', 'INT16', 'INT32', 'INT64', 'FLT32', 'FLT64', 'GRAYn', 'RGB', 'ARGB' 記述しない場合は、data_array変数の型で判断されます |
'frames',frames : | フレーム構成の場合のフレーム数 |
'verbose' : | 必要に応じてメッセージ出力する |
データファイルのデータの型を指定します。
"INT8" : | 8ビット整数 |
"INT16" : | 16ビット整数 |
"INT32" : | 32ビット整数 |
"INT64" : | 64ビット整数 |
"FLT32" : | 32ビット浮動少数点 |
"FLT64" : | 64ビット浮動少数点 |
"GRAYn" : | nビットグレースケール画像(n:8~16) 例)'GRAY8' |
"RGB" : | 24ビットカラー画像(RGBの順が変更可) 例)'BGR' |
"ARGB" : | 32ビットカラー画像(ARGBの順が変更可) 例)'BGRA' |
code = dbsClose(dbs_des, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |
まず、dbsOpenでショットデータの登録開始を宣言します。
次にdbsOpenFrameでフレームデータの登録を開始し、dbsWriteFrameで1フレームづつ登録します。複数フレーム登録する場合はdbsWriteFramesを使用します。dbsCloseFrameでフレームデータを終了します。
最後にdbsCloseでショットデータの登録を終了します。
例)
des = dbsOpen('', 'LABCOM', 49002, 1, 'RAW');
code = dbsOpenFrame(des, ch, 640, 480, 'RGBA');
frame_array = zeros(640, 480, 'uint32');
code = dbsWriteFrame(des, ch, 1,frame_array);
code = dbsCloseFrame(des, ch, param);
dbsClsoe(des);
code = dbsOpenFrame(dbs_des, channel_number, frame_x, frame_y, image_type, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
channel_number(numeric) : | チャネル番号 |
frame_x(numeric) : | フレームのXサイズ |
frame_y(numeric) : | フレームのYサイズ |
image_type(text) : | フレームデータのデータ型 ※補足参照 'INT8', 'INT16', 'INT32', 'INT64', 'FLT32', 'FLT64', 'GRAYn', 'RGB', 'ARGB' |
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |
'accept_sizes' : | フレームデータのサイズがX*Yサイズでない場合も保存する |
code = dbsWriteFrame(dbs_des,
channel_number, frame_number, frame_array, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
channel_number(numeric) : | チャネル番号 |
frame_number(numeric) : | フレーム番号 |
frame_array(numeric, libpointer) : | フレームデータ |
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |
フレーム数分、dbsWriteFrameを呼び出してください。
code = dbsWriteFrames(dbs_des, channel_number, start_frame_number, frames, frames_array, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
channel_number(numeric) : | チャネル番号 |
start_frame_number(numeric) : | 開始フレーム番号 |
frames(numeric) : | フレーム数 |
frame_array(numeric, libpointer) : | フレームデータ |
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |
code = dbsClsoeFrame(dbs_des, channel_number,param_struct, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
channel_number(numeric) : | チャネル番号 |
param_struct(struct) : | チャネルのパラメータリスト initParamList関数で初期化し、setParam関数で設定する パラメータがない場合は, 'struct([])' とする |
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |
途中でショットデータの登録をキャンセルするには、dbsAbortでキャンセルします。
例)
des = dbsOpen('', 'LABCOM', 49002, 1, 'RAW');
code = dbsWrite(des, 1, pl, data, 'verbose');
dbsAbort(des);
code = dbsAbort(dbs_des, ...)
dbs_des(numeric) : | dbStore識別子 |
---|---|
code(numeric) : | 終了値(0は成功、0以外はエラー発生) |
OPTIONS : | |
'verbose' : | 必要に応じてメッセージ出力する |