2014/02/10

PCLの PCD フォーマットにおけるbinary_compressed

Point Cloud Library (PCL)のデータフォーマットであるPCDでは,各ポイントのデータをアスキー文字列で保存する形式 (ascii) と,バイナリで保存する形式 (binary) があって,これはドキュメントに載っているのだけれども,実はもう一つ,バイナリを圧縮した binary_compressed というのがある.でも,これは(なぜか)ドキュメントには載ってない,のでここでちょっとメモ.

PCL から binary_compressed なデータを書き出すのは pcl::PCDWriter::writeBinaryCompressed 関数を使う.ソースコードは この辺

ここでポイントは,

  • データ部分の最初の4バイトは unsigned int の圧縮後のデータサイズ
  • 次の4バイトは unsigned int の圧縮前のデータサイズ
  • 次は LZF 圧縮されたバイナリデータ.ただし,データはポイントごとに並べたのではなくて,フィールドごとに並べたもの.(例えば,XYZXYZXYZ...ではなくて,XXX...YYY...ZZZのように)

LZF 圧縮に関しては,ハッシュテーブルあたりで微妙にオリジナルと違うのだけれども,この辺がどう影響するかは未確認..

2014/02/02

R cheat sheet

データ

combine function c()

>  sample <- c(6, 7, 15, 36, 39, 40, 41, 43, 47, 49)
  [1] 6 7 15 36 39 40 41 43 47 49

: operator

> sample <- 1:10
  [1] 1 2 3 4 5 6 7 8 9 10

seq() function

> sample <- seq(0, 100, by=10)
  [1] 0 10 20 30 40 50 60 70 80 90 100

CSVからインポート

> sample <- read.csv('data.csv', header=TRUE, sep=",")

ディレクトリ

カレントディレクトリを表示
> getwd()
ディレクトリを移動
> setwd(dir)
カレントディレクトリ内のファイル,フォルダを表示
> dir()

関数

ライブラリをロード

> library('qualityTools')
> showClass('gageRR')
> example('gageRR')

スクリプトを実行

> source("script.R")

Vector データ関連

  • length(v): Vector の要素数
  • mean(v) : Vector の平均
  • median(v) : Vector の中央値
  • sd(v): 標本標準偏差 (unbiased)
  • var(v): 標本分散 (unbiased)
  • summary(v): 最小値,第一四分位数,中央値,平均値,第三四分位数,最大値を表示 Minitab との違い (Minitab はwikipediaの説明における Method 1, R のsummary は Method2)
  • fivenum(v): Tukey's five number を vector として返す.