Ogólne wskazówki

Maski powinny być binarne. Uważaj przy przekształceniach maski. Zawsze wybieraj opcję interpolacji NN, która zachowuje oryginalne wartości. Polecenie poniżej da Ci pewność, że średnia (M) wartość niezerowych wokseli wynosi 1 a odczylenie 0:

fslstats lesion.nii.gz -M -S
1.000000 0.000000

Uważaj przenosząc pliki pomiędzy SPM i FSL. Pierwszy wykorzystuje często wartości NaN w obrazie, których FSL nie uznaje. Czasem mogą się pojawić problemy z zapisem orientacji obrazów.

Więcej dobrych rad znajdziesz: O maskach - https://neuroimaging-core-docs.readthedocs.io/en/latest/pages/image_processing_tips.html#masks O normalizacji z maską - https://neuroimaging-core-docs.readthedocs.io/en/latest/pages/fsl_anat_normalization-lesion.html

Lesion filling

Nietypowe obrazy mogą zostać źle przetworzone przez automatyczne algorytmu. Możesz ułatwić im działanie poprawiając obrazy tak, żeby nie było na nich widać zmian. Uwaga - lesion filling w FSL może nie zadziałać prawidłowo w GM (Paweł używa implicite maski WM).

Według instrukcji Pawła - https://github.com/nencki-lobi/NAWA/blob/master/General/Analysis.md#brain-volumetrics---calculated-with-freesurfer

#Bet T1 and at the same time perform bias field correction:
bet sub-01_ses-01_T1w.nii.gz T1_bet_biascorr.nii.gz -f 0.2 -B

#Segment T1 with fsl fast in order to obtain WM mask:
fast T1_bet_biascorr.nii.gz; fslmaths T1_bet_biascorr_pve_2.nii.gz -thr 0.95 -bin WM_mask.nii.gz;

#Bet FLAIR:
bet sub-01_ses-01_FLAIR.nii.gz FLAIR_bet.nii.gz -f 0.5 -R

#Register FLAIR to T1:
flirt -in FLAIR_bet.nii.gz -ref T1_bet_biascorr.nii.gz -omat FLAIR_to_t1.mat -dof 6 -cost normmi;

#Use the generated matrix to register Flair lesion mask to T1
flirt -in FLAIR_lesion_mask.nii.gz -ref T1_bet_biascor.nii.gz -out FLAIR_lesion_mask_in_T1.nii.gz -init FLAIR_to_T1.mat -applyxfm -interp nearestneighbour;

#Perform the lesion filling
lesion_filling -i sub-01_ses-01_T1w.nii.gz -l FLAIR_lesion_mask_in_T1.nii.gz -w WM_mask.nii.gz -o T1w_filled.nii.gz;

Na poprawionych obrazach po wykonaniu “lesion filling” można uruchomić standardowy preprocessing np. fsl_anat lub freesurfer. Ewentualnie, zamiast lesion filling, można skorzystać z alternatywnej wersji fsl_anat_alt, która wykorzystuję maskę zmian. Zmiany zaznaczone w masce zostaną zignorowane podczas wykonywania segmentacji/normalizacji (nie będą miały wpływu).

fsl_anat on lesion filled T1w (todo) fsl_anat with -m fsl_anat standard
comment lesion filled/repaired lesions mask used in the segmentation algorithm not informed about lesions
directory ? ./withmask.anat ./proprietary.anat
results

Klasteryzacja maski zmian

fsl-cluster → powstaje plik txt z tabelką i/lub maska w kolorach tęczy (numeracja klastrów na obrazie)

uwaga - kliknięcie dowolnej pozycji na obrazie powoduje dodanie wpisu/nowego wiersza do tabelki w History

Lesion Movie

  1. fsl-cluster --in=FLAIR_lesion_mask.nii.gz --thresh=1 --mm > fsl_clusters.txt
  2. awk 'BEGIN {FS="\t"; OFS=" "} NR>1 {print $7 ,$8, $9, $1}' fsl_clusters.txt > output_clusters.txt
  3. Load into Location/History