customplot设置单个点的颜色_[原创]单个超大型TB级imaris的ims文件的Surface手绘及Mask提速新方法...
本程序用于解決處理數(shù)百GB~TB級別單個超大型ims文件/或者一大群海量Tif切片contour surfce手繪時的若干問題.可在垃圾筆記本上運行(無需獨顯,無CPU特殊要求,只需內(nèi)存4-8G即可,在無法運行imaris 的電腦上也可運行),無需電腦安裝任何imaris軟件相關(guān)產(chǎn)品,就可實現(xiàn)對單個樣本上百G的海量tif,或者上百G的單個ims文件借助豐富的ImageJ roi選取工具進行mask操作,并生成海量tif,以及mask后的完整的ims文件,永遠不會崩潰!Roi繪制步驟借助ImageJ的豐富的roi繪制工具,再加上額外定制的人機交互roi繪制優(yōu)化操作,比Imaris內(nèi)置的roi繪制更加便捷. Mask步驟比imaris內(nèi)置的mask工具更加穩(wěn)健,永遠不會出現(xiàn)超大尺寸如20G-1000G的單個ims文件在mask操作等待一晚上過后電腦卡死前功盡棄的情況!將厚重?zé)o比的高風(fēng)險的超大imaris文件的內(nèi)存性操作遷移到廉價穩(wěn)健的硬盤.時間流逝1秒鐘,就有實打?qū)嵉?秒鐘的收獲,不會前功盡棄任何一秒鐘的付出.即便mask中途突然停電/電腦進水/有人不小心關(guān)掉電腦也不怕,電來了后/水晾干后/重啟電腦后,接著運行能自動續(xù)接到這個時間點接著干!
本軟件操作的內(nèi)容和這篇文章的此部分方法幾乎完全一致.
========== 正文 ================
%問題1.手繪生成surface后圖像邊緣的surface平滑后變小,導(dǎo)致后續(xù)mask操作后損失圖像邊角.
%問題2.對于復(fù)雜分叉管道網(wǎng)絡(luò)等架構(gòu)的手繪,imaris不能準確繪制所需的形狀
%問題3.由于巨無霸超大型ims文件嚴重依賴大內(nèi)存,手繪完生成的surface執(zhí)行mask操作時,即便是256GB內(nèi)存,依然耗時很久,甚至徹夜無響應(yīng),陷入永久癱瘓狀態(tài),折騰幾個星期都搞不定,卡死在這里.
% 注: 此處超大型文件適用于由多顏色(C)通道,多Z層切片,甚至多時間(T)通道導(dǎo)致的超大型文件,而不是單層超大的(如鼠鬧單層切片無縱深的水平拼接,或者衛(wèi)星地圖等),因此單個slice/單層tif體積在數(shù)百MB到1GB左右.
% 程序流程如下:
%1. 對巨型imaris進行底層飛速低采樣,投射到臨時imaris窗口中,并重設(shè)為原始巨型ims文件的世界坐標;
%2. 緊接著自動轉(zhuǎn)投射到ImageJ窗口中
%3. 在ImageJ窗口的Stack中部分slice上,進行ROI繪制.(這是唯一需要動手操作的環(huán)節(jié))
% 并不需要全部slice都繪制,通常頂?shù)准爸虚g若干.(第6步Mask操作需求除外)
% 每張可以繪制多個,根據(jù)組織結(jié)構(gòu)形態(tài)
%4. 讀取Stack上繪制的ROI.
% 從上到下,對每行slice上的每一個roi,從上面最近的含有roi的slice上的roi中尋找最接近的一個Roi
% 將這一對roi進行小凸包構(gòu)建
% 遍歷完所有Roi,得到緊密貼合的大量小凸包.
%5.方案B:
% 將小凸包綜合體的三角面片坐標采樣糾正及世界坐標變換,然后優(yōu)化后:
% B1: 整體一次性添加到新的surface中(這樣imaris窗口中的surface只有一個id)
% B2: 以小凸包作為subSurface的形式一次性添加到新的surface中(這樣imaris窗口中的surface只有多個id)
% 注: 多id好處是將來imaris中可以直接點擊刪除錯誤連接的小凸包.
% 然后添加surface到imaris窗口
% B缺點1: 一次性添加,被imaris拒絕的概率稍大
% B缺點2: 小凸包綜合體的面片優(yōu)化效果沒有單獨優(yōu)化好
% B特點: 交叉陰性:
% 如果小凸包之間有交叉,交叉區(qū)域被imaris認為是否定的區(qū)域,不屬于surface內(nèi)部.
% 適合繪制一長條無分叉的單個結(jié)構(gòu),也適合繪制交叉陰性的中空血管結(jié)構(gòu)
% 注: 全局性的最小外皮也可以解決交叉區(qū)域陰性,但是目前尚未找到方法,可能需要借助Geometry方法.
%5.方案C:
% 將每一個小凸包分別進行三角面片坐標采樣糾正及世界坐標變換,然后優(yōu)化后:
% 然后作為subSurface的形式一個個添加到新的surface中(這樣imaris窗口中的surface只有多個id)
% 然后添加surface到imaris窗口
% C優(yōu)點1: 小凸包結(jié)構(gòu)簡單,單獨優(yōu)化效果佳
% C特點: 交叉陰性
%5.方案D:
% 采取總aBoolMat進行imaris內(nèi)部重構(gòu)(未完成,目前只有繪制片層才有)
% D目前的問題是子函數(shù)中小凸包亞塊內(nèi)部的bool矩陣獲取及mask填充實現(xiàn)起來需要天文級別的內(nèi)存和時間.
%5.方案E:
% 糾正臨時imaris窗口的世界坐標
% 對于每個小凸包,采樣糾正及世界坐標變換,然后優(yōu)化后:
% 以單個小凸包創(chuàng)建獨立的小surface,立即生成mask
% 將每個mask累加"或"操作,得到bool矩陣
% 將bool矩陣回填到臨時imaris窗口,并基于該Bool矩陣構(gòu)建皮膚,提取皮膚三角面片信息
% 在臨時imaris窗口中打開原始巨型ims文件,依據(jù)剛才獲取的信息創(chuàng)建新的surface,添加到該文件中.
% E優(yōu)點: 交叉陽性,解決了小凸包交叉陰性的問題
% 6. 巨型ims文件的快速mask:
% 前提: imagej中繪制時每一個需要roi的slice都必須繪制. (不支持交叉陰性)
% 將最初提取的所有roi邊界點進行采樣糾正及世界坐標變換
% 對于每一個Z:
% 收集當前Z的所有roi信息:
% 構(gòu)建空白單張原始尺寸圖為樣板,將當前層的所有roi疊加為mask
% 提取ims文件中當前層圖像,應(yīng)用mask
% 保存為ZCT的單張tif,循環(huán)全部.
% 這樣就得到了大量單張ZCT的被mask處理過的tif圖像.用imaris打開,就是一個新的文件.
% 優(yōu)點1: 這種新的mask思路對內(nèi)存需求特別小,僅需要slice尺寸級別的內(nèi)存(常用個人電腦4GB內(nèi)存足矣)
% 優(yōu)點2: 采取愚公移山策略,化整為零,負載小,穩(wěn)健性大大增加,總體用時大大節(jié)省(imaris自己7天7夜到永久癱瘓都處理不了的mask操作,此方案僅需半小時到數(shù)小時)
% 下一步可以稍加改進,在ims文件層本身也進行超穩(wěn)健的ims文件硬盤層的一步到位式mask操作.
% 但是這樣有一個缺陷是,縮略圖未更新,也就是在imaris窗口中查看時,只有圖像調(diào)節(jié)到很大時,看到的才是mask的效果.
% 因此這一步未實現(xiàn).(2020.4已解決))
% ====2020-04更新===========
1. 增加了對mask時Stack頂,底以及中間的無roi的slide分型處理:
頂?shù)撞繜oroi的stack可以設(shè)置任何值;
中間的缺roi層即可設(shè)置任何值,也可沿用最近的一層的roi;
roi內(nèi)可以填充為某值;
roi外也可以填充為某值.
2. 導(dǎo)出masked Tif時,可以靈活設(shè)置z的范圍:
全部z?
指定z系列?
扣去頂部無roi的z群?
扣去底部無roi的z群?
扣去頂部+底部無roi的z群?
扣去頂部+底部+中間的無roi的z群?
3.masked tif 可以不經(jīng)過imaris,直接生成mask后的ims文件,超大文件生成速度極快!
4.最后的surface凸包環(huán)節(jié)可以略過.由于凸包形狀距離surface差異較大,因此此環(huán)節(jié)被廢棄.
取而代之的是獲得mask后的原始精度tif文件和mask后的ims文件.
5.大大優(yōu)化了Stack繪制roi時的人機交互;
可以繪制任意roi并一鍵q轉(zhuǎn)換為polygon,
可以一鍵b將當前roi發(fā)送到overlay及roi Manager
對于臨近的slide可以臨時借用剛才的roi捏臉微調(diào)
增加了中途休息的斷點功能,可以隨時暫停退出,并且下次運行時一路抵達上次的斷點,也可以在中途的若干環(huán)節(jié)分道揚鑣.
6. 增加了ims文件中的等級圖生成.
7.徹底解決了Imaris自帶的傳遞超大圖像到Fiji窗口時的內(nèi)存溢出問題(通過層層切片傳遞,取代了Imaris自身的3D一批傳遞),穩(wěn)定性大大提高!
8.建立了不依賴ims文件輸入的新路徑,直接對拍攝的海量Tif文件夾為輸入,低采樣為Stack后,繪制roi并進行mask.輸出既可以是mask后的高清tif,也可以是ims文件.
9. 一層多個roi之間可為(1) 全部疊加 (2) 層疊消融:偶消奇不消.
10. 增加了polygon節(jié)點在某處增加1個,或者刪除1個,或者整體倍增的功能.
11. 增加了將mask的通道附加或者定向覆蓋/注入到已有ims文件的指定通道的功能.
12. 增加了對已有ims文件中的surface進行mask,通道附加或者定向覆蓋/注入到已有ims文件的指定通道的功能.
13 增加了腐蝕背景消減,用于去背景
% ====2020-05更新===========
1. 增加了imaris內(nèi)置的繪制roi時等時間間隔點射,或者等距離間隔點射的快捷繪制模式.
而imaris內(nèi)置的根據(jù)強度自動劃區(qū)的模式可以用imagej的插件lasso Tool實現(xiàn).
總結(jié)
以上是生活随笔為你收集整理的customplot设置单个点的颜色_[原创]单个超大型TB级imaris的ims文件的Surface手绘及Mask提速新方法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么开启队友无伤_王者荣耀:玩刘禅的6个
- 下一篇: 2打开md文件_File Cabinet