你好,
我使用 Perl 做了類似的事情,但 Perl 沒有成像功能,所以我想使用 JMP 代替。 我發現這其中有幾個步驟令人困惑。 是否有 JMP 專家可以協助解決這些問題?
1) 我捕捉了以下腳本(如下)來過濾掉分類事物的 XY 網格的邊緣,然後按類別計算缺陷。 我想透過通配目錄中的所有檔案(name_A...name_F-)並將腳本套用到每個檔案來使其更有用。
2)然後我想在每次運行腳本時保存所有圖像檔案。
3)我想將我生成的表中的所有資料匯出到一個主文件,其中包含按分類排列的文件名和內容。
// 匯入文字檔:name_F.csv
// → 資料表( "name_F" )
打開(
“$DESKTOP/name_F.csv”,
列(
新列(“否”,字符,“名義”),
新列(“類別”,字符,“名義”),
新列(“X”,數字,“連續”,格式(“最佳”,12)),
新列(“Y”,數字,“連續”,格式(“最佳”,12)),
新列(“能量”,數字,“連續”,格式(“最佳”,12)),
新列(“c000006”,數字,“連續”,格式(“最佳”,10)),
新列(“c000007”,數字,“連續”,格式(“最佳”,10)),
新列(“c000008”,數字,“連續”,格式(“最佳”,10)),
新列(“c000009”,數字,“連續”,格式(“最佳”,10)),
新列(“c000010”,數字,“連續”,格式(“最佳”,10)),
新列(“c000011”,數字,“連續”,格式(“最佳”,10)),
新列(“c000012”,數字,“連續”,格式(“最佳”,10))
),
導入設定(
行尾( CRLF, CR, LF ),
欄位結束( 逗號, CSV( 0 ) ),
剝離報價( 1 ),
使用撇號作為引號(0),
使用區域設定( 0 ),
掃描整份文件( 1 ),
將空列視為數字 ( 0 ),
壓縮數字列( 0 ),
壓縮字元列(0),
壓縮允許清單檢查(0),
標籤( 1 ),
列名開始( 15 ),
數據開始( 16 ),
要讀取的行(“全部”),
年份規則(“20xx”)
)
);
// 報表快照:name_F - 圖形產生器
資料表( "name_F.csv" ) << 圖形產生器(
尺寸(502、432)、
顯示控制面板( 0 ),
變數( X( :X ), Y( :Y ) ),
元素( 點( X, Y, 圖例( 5 ) ) )
);
當前資料表() << 資料過濾器(
位置( {30, 30} ),
眾數( 包括( 1 ) ),
新增過濾器(
列(:X,:Y),
其中(:X >= 24602 & :X <= 93335),
其中(:Y >= 23835 &:Y <= 93002 )
)
);
// 報表快照:name_F - Graph Builder 2
圖形產生器(
尺寸(570、432)、
顯示控制面板( 0 ),
變數( X( :X ), Y( :Y ), 組 Y( :Class ) ),
元素( 點( X, Y, 圖例( 15 ) ) )
);
// 報表快照:name_F - 圖形產生器
圖形產生器(
尺寸(502、432)、
顯示控制面板( 0 ),
變數(X(:類別),Y(:X)),
元素(
酒吧(
X,
是,
傳說(4),
統計匯總(“N”),
標籤(“按值標籤”)
)
)
);
請隨時給我發電子郵件: morinei@corning.com您以前是否做過類似的事情並且願意花幾分鐘時間討論一下?
為了強調我在每個問題上陷入困境的地方:
1)我需要批量導入JMP並在同一行打開每個文件,然後輸出日誌。 我不確定JMP是否可以完成第一步。
2)我無法確定在儲存影像時更新了哪種類型的日誌。
3)我無法弄清楚將文件名放入表中。
嘿@PanelGemsbok742 !
以下是每個問題的一些想法:
- 查看多個文件導入(在“文件”下)。您將需要使用「新增檔案名稱」複選框,以便您知道資料集來自哪個檔案。
- 目前增強日誌可能無法捕捉保存影像(某些更深層的內容則不能)。最初的重點是資料處理和清理操作,此後它們一直在擴展。 18、將(我認為)帶來對輸出檔的更多支援。同時,請查看 JMP 中的說明 > 腳本索引,然後搜尋儲存影像。有一個很好的小程式碼片段,可以幫助您指明如何匯出影像的正確方向。

- 也應該照答案1處理。
其他想法 - 我很確定您可以將上面的程式碼放入一個循環中,稍加修改,它就可以在目錄上工作,這是偽代碼(插入一些程式碼位元以幫助)以使其工作:
// Define the file directory
dir = Pick Directory();
// Get Files in directory of interest
files = Files in Directory(dir);
// Loop through files list
For Each({file, index}, files,
// create file name with path
filename = dir ||file;
// your stuff
// change the "$Desktop/..." to be filename
// update to include the image save...
); // end of loop