從數據表構建圖片,然後對其應用 jsl 過濾器你好,
我經常使用 X/Y/公制數據表,這些數據表與圖像類似,我想在其上應用 JMP 過濾器(“去斑”、“減少噪音”... 我對 Julia Kong 的演講非常感興趣:“使用 JMP® 圖像分析功能提取皮膚病變特徵”),然後轉換回數據表。 將數據轉換為圖片後使用這種過濾器似乎比執行一些棘手的矩陣計算更容易。
喜歡:

例如,為了獲得帶有降噪 jsl 過濾器的右下簇高級像素,假設孤立的像素是噪聲並且必須被過濾

但我不明白如何從我的數據創建 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 過濾器?
謝謝!
弗蘭克
消費者和市場研究數據探索和可視化回复:從數據表構建圖片,然後對其應用 jsl 過濾器偉大的! 感謝您的幫助!
回复:從數據表構建圖片,然後對其應用 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);
使用“幫助 > 腳本索引”來闡明代碼的工作原理。
