我已經爲ImageJ/FIJI寫入了一個宏,用於對我的共聚焦顯微鏡圖像進行去卷積並運行「3D Object Counter」插件。宏成功運行所有必需的命令並將所有必需的數據保存在指定的位置。將閾值設置爲autoThreshold的函數
但是,我發現3D-OC autotreshold(如插件對話框中所示)嚴格導致對象丟失或分割。 爲了解決這個問題,我想通過類似於在這裏(來源:How to get threshold value used by auto threshold Plugin)完成規定的功能的東西,以減少autothreshold這就造成了這樣的代碼:
setAutoThreshold();
getThreshold(lower,upper);
v=setThreshold(lower,upper*0.5);
run("3D Objects Counter", "threshold="v" slice=10 min.=400 max.=20971520 objects statistics summary");
當時的想法是調用AutoThreshold值,修改他們並將它們設置爲一個變量。然而,當這些線運行返回以下錯誤:
Number or numeric function expected in line 3.
v=<setThreshold>(lower,upper*0.5);
並且,如果變量被直接插入到用於運行閾鍵(3D-OC)以下MSG遇到:
Numeric value expected in run() function
Key:"threshold"
Value or variable name:"setThreshold(lower,upper*0.5"
任何關於如何將3D-OC閾值指定爲變量的建議或幫助都將非常感謝(當然,任何工作:))。
乾杯
編輯:下面的測試簡的反應(這完美的作品)之後,似乎我需要調用由3D-OC插件設置的閾值。有人知道怎麼做嗎?
一月,謝謝你。它完全按照規定完成。不過,我似乎從一開始就理解我的問題。 ImageJ中的閾值函數都沒有返回與3D對象計數器插件相同的下限。你是否知道有什麼方法可以調用這個插件自動確定的閾值(這樣就可以像上面描述的那樣處理它)? – user3180258
似乎3D對象計數器正在使用圖像堆棧的_last slice_來生成閾值(請參見[源代碼](https://github.com/fiji/fiji/blob/master/src-plugins/3D_Objects_Counter/src /main/java/_3D_objects_counter.java#L76-85)) –
道歉爲不標記爲答案Jan – user3180258