画像処理プログラムからのデータがあり、それらをつなぎ合わせる必要があります。私の画像データは元々、顕微鏡スライド上の18(6 x 3)ウェルの配列です。後で各ウェルに何が入っていたかを識別できるように、これらのウェルに一貫して番号を付ける必要があります。ウェルのおおよそのx位置とy位置(ピクセル単位)があり、それらを左から右、次に上から下(最も単純に見える)に並べ替え、1から18の番号を付けたいと思います。
このような:
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 2 3 4 5 6
[2,] 7 8 9 10 11 12
[3,] 13 14 15 16 17 18
警告:
-すべてのウェルが画像処理プログラムによってピックアップされたわけではないため、18未満のウェルがある場合があります。
-同じ行または列のすべてのウェルがまったく同じxまたはyにあるわけではなく、20〜40ピクセル以内で浮かんでいるように見えます。
-すべての画像が同じポイントまたはまったく同じ倍率で中央に配置されるわけではないため、適切な位置は範囲をコード化するのに十分な信頼性がありません。
データの例:
Well BBXLeft BBYTop
1 0 39 637
2 1 43 1218
3 2 596 630
4 3 610 1212
5 4 1161 633
6 5 1164 1207
7 6 1710 623
8 7 1715 1202
9 8 2267 620
10 9 2271 1199
11 10 2824 617
12 11 2845 1197
13 12 35 57
14 13 593 53
15 14 1709 45
16 15 2262 41
17 16 2820 38
またはから再現可能な形式でdput
:
wells <- structure(list(Well = 0:16, BBXLeft = c(39L, 43L, 596L, 610L,1161L, 1164L, 1710L, 1715L, 2267L, 2271L, 2824L, 2845L, 35L, 593L, 1709L, 2262L, 2820L), BBYTop = c(637L, 1218L, 630L, 1212L, 633L, 1207L, 623L, 1202L, 620L, 1199L, 617L, 1197L, 57L, 53L, 45L, 41L, 38L)), .Names = c("Well", "BBXLeft", "BBYTop"), class = "data.frame", row.names = c(NA, -17L))
ウェルが画像解析プログラムから故障していますこの例ではウェル#15(または0からカウントする場合は14)がありません
理想的な出力は、左右、上下のウェル番号(または「戦艦」座標)を含む新しい列です。
これがちょっとした宿題の質問である場合は申し訳ありませんが、カットオフをハードコーディングせずにこれを効率的に行う方法が本当にわかりません。Rを使用しているのは、Rが私が把握している唯一の言語であり、この問題を回避するために他のコードを作成する準備ができているためです。