データテーブルから画像を作成し、その上にフィルターを適用しますこんにちは、
私は、画像に似ていて、JMPフィルター(「デスペックル」、「ノイズの低減」など)を適用したいX / Y /メトリックデータテーブルをよく使用します。 Julia Gongによるこのプレゼンテーションに非常に興味がありました:「JMP®画像分析機能を使用して皮膚病変の特徴を抽出する」)その後、データテーブルに戻ります。 トリッキーな行列計算を実行するよりも、データを画像に変換した後、この種のフィルターを使用する方が簡単なようです。
お気に入り:

たとえば、ノイズリダクションを備えた右下のクラスターを取得します

しかし、データからJMP画像マトリックスを作成する方法がわかりません。
たとえば、X、Y、および以下のメトリックを添付ファイルとして含むテーブルから開始する場合

次に:
dt =current data table();
// the X,Y, metric matrix
mat = (:X << getvalues) || (:Y << getvalues) || (:metric << getvalues);
このコマンドも:
img = New Image( "r",{mat});これも:
img << Set pixels ("r",{mat});...動作しているようです。
このテーブルを画像マトリックスに変換し、JMPフィルターを適用するにはどうすればよいですか?
ありがとう!
フランク
グラフィックススクリプティングRe:データテーブルから画像を作成し、それにjslフィルターを適用します次のようなことをする必要があります。
NamesDefaultToHere(1);
dt = Data table("data_table.jmp");
// The values of the metric need to be rescaled to [0, 1]
metric = Column(dt, 3) << getValues;
maxMetric = Max(metric);
minMetric = Min(metric);
metric = (metric - minMetric) :\</img> (maxMetric - minMetric);
// Column vector to hold the pixel values for the image
pixVals = J(NRow(metric), 1, .);
for (p=1, p<=NRow(pixVals), p++,
pixVals[p] = RGB Color(metric[p], metric[p], metric[p]);
);
// Reshape 'pixVals' to be a rectangular matrix (assumes 'X' and 'Y' both start at 1)
xMax = Max(Column(dt, "X") << getValues);
yMax = Max(Column(dt, "Y") << getValues);
pixVals = Shape(pixVals, xMax, yMax);
// Make an image, make it a bit bigger, and put it in a window
im = New Image();
im << setPixels( pixVals );
im << setSize({10*xMax, 8*yMax});
NewWindow("My Image", im);
「ヘルプ>スクリプトインデックス」を使用して、コードがどのように機能するかを明確にします。

Re:データテーブルから画像を作成し、それにjslフィルターを適用しますすごい! ご協力いただきありがとうございます!