今天繼續研究資料切割,也是對之前四篇切割內容的補充,內容不多,step by step。
itk中有乙個類叫做itkcropimagefilter,是itkextractimagefilter的派生方法。
先上**,看一下基本用法:
imagetype::sizetype extractsize = };
extractsize[0] = 1;
extractsize[1] = 1;
typedef itk::cropimagefilter cropimagefiltertype;
cropimagefiltertype::pointer cropfilter = cropimagefiltertype::new();
cropfilter->setinput(input_data);
cropfilter->setboundarycropsize(extractsize); //和下面兩句重複
//cropfilter->setupperboundarycropsize(extractsize);
//cropfilter->setlowerboundarycropsize(extractsize);
cropfilter->updatelargestpossibleregion();
cropfilter->update();
接下來咱們一起看原始碼是怎麼寫的,這個類超簡單,就乙個函式,但我看了還是詫異,+_+:
template // itk的模版
void
cropimagefilter::generateoutputinformation()//itk的資料生成都用的這個函式名
// compute the new region size.
outputimageregiontype croppedregion;
sizetype sz;
outputimageindextype idx;
inputimagesizetype input_sz =
inputptr->getlargestpossibleregion().getsize();
inputimageindextype input_idx =
inputptr->getlargestpossibleregion().getindex();
idx = input_idx + m_lowerboundarycropsize;
sz = input_sz - (m_upperboundarycropsize + m_lowerboundarycropsize);
croppedregion.setsize(sz);
croppedregion.setindex(idx);
// set extraction region in the superclass.
this->setextractionregion(croppedregion);//父類的函式生效
// superclass::generateoutputinformation();
}
看下面兩行!@_@,我有點暈了,親測後,原來是按照給定的size對原始影象做對稱切割!
idx = input_idx + m_lowerboundarycropsize;
sz = input_sz - (m_upperboundarycropsize + m_lowerboundarycropsize);
這個方法,挺好用,但怎麼用呢?貌似也沒什麼情況用得到啊~
最近有一些新的idea,想腳踏實地親自做一些腳踏實地的事情,做一些有用的事情。現在的狀態是不上不下,簡直就是乙個「卡」啊!這麼在半空中是很危險的,想落地。
別急,別急,一件一件來~
---「勤學似春起之苗,不見其增,日有所長。」 與大家共勉。
1.
itk中的花式資料切割(二)
上篇切割的特徵是越切越小,這次換個不會變小的方法,當然不同的方法有利有弊,中間取捨,看實際情況。0.先構建乙個與原始資料同等大小的影象,這個是前提條件 略。不清楚的請轉 itk中的基本影象操作 一文 1.沿著z軸按照預設範圍切出方盒子 其實隨便xyz那一邊都一樣 imagetype sizetype...
itk中的Cos變換
itk中有個類叫做itkcosimagefilter,是將影象中每個點做cos變換。可能大家現在還不知道有什麼用,那麼本文只談實現,不談應用場景。使用方法 typedef itk cosimagefilter imagetype,imagetype filtertype filtertype poi...
itk中的黑白TopHat演算法
本文要寫的是tophat演算法,這個演算法屬於形態學變換,主要應用在解決當光照不均等條件引起的背景灰度不均問題 敲黑板,tophat是應用在灰度影象的,不是二值影象!tophat演算法本質是形態學變換中開閉運算的組合。開運算能消除灰度影象中較亮的細節,閉運算則能消除較暗的細節,如果對應到座標系,亮對...