*freesurferで小児の小さな脳がうまく処理できないとき

小さな被験者だと肩とかMRIデータに入ってきますが、それらのデータが邪魔をしてfreesurferで脳の切り出しがうまくできないことがありました。

自験例ではdicomデータから顎あたり以下のデータを黒(レベルを0に)にすることでクリアできました。

以下処理のためのmatlabのスクリプトです。

%%%%%%%%%%%%%%% ここから下 %%%%%%%%%%%%%%%%%%%%%%%%%%%%

clear all

for slicenumb=1:9 %% 0を除く1ケタ台のスライス(通常100スライス以上あるので変更の必要なし)※ケタ数によってD000000...の0の数が変わるので、分けて処理

sample(slicenumb,:,:)=dicomread(['/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/DCMDT/D000000' num2str(slicenumb)]); %% dicomデータのあるディレクトリ

info(slicenumb,:)=dicominfo(['/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/DCMDT/D000000' num2str(slicenumb)]); %% dicomデータのあるディレクトリ

end;

for slicenumb=10:99 %% 2ケタ台のスライス(同上。通常100スライス以上あるので変更の必要なし)

sample(slicenumb,:,:)=dicomread(['/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/DCMDT/D00000' num2str(slicenumb)]);

info(slicenumb,:)=dicominfo(['/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/DCMDT/D00000' num2str(slicenumb)]);

end;

for slicenumb=100:139 %% .139のところはスライス数に応じて変更

sample(slicenumb,:,:)=dicomread(['/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/DCMDT/D0000' num2str(slicenumb)]);

info(slicenumb,:)=dicominfo(['/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/DCMDT/D0000' num2str(slicenumb)]);

end;

cd('/net/nas_drive/hoge/hogehoge/a_subject/a_date_a_subject/newDCMDT'); %% 保存したいディレクトリの指定

for n=1:139 %% .139のところはスライス数に応じて変更

newsample=squeeze(sample(n,1:171,:)); %% 171のところは切り取りたい範囲に応じて変更

newinfo=squeeze(info(n,:));

filename=([num2str(n) '.dcm']);

dicomwrite(newsample,filename,newinfo);

end;

% Z=squeeze(sample(51,:,:));

% imshow(Z);

% imagesc(Z); %% 画像の確認