Macierze tekstury od podstaw
W poprzedniej sekcji teksturę przedstawiono jako jeden z pięciu sposobów podsumowania relacji przestrzennych w tabeli pomiarów. Opis ten jest użyteczny tylko wtedy, gdy widać operację zliczania. W przeciwnym razie nazwa taka jak GLCM może brzmieć jak właściwość naturalnie posiadana przez obraz. Tak nie jest. Aby obliczyć cechę tekstury, najpierw przypisuje się wartości obrazu do skończonego zbioru poziomów szarości, następnie zlicza określoną relację między tymi poziomami, a na końcu podsumowuje otrzymaną macierz.
Dlaczego tekstura wymaga alfabetu poziomów szarości
Obraz CT jest reprezentowany przez wartości intensywności na skali liczbowej, ale macierz tekstury zwykle nie zlicza każdej możliwej intensywności jako odrębnej kategorii. Załóżmy, że próbowano by zliczyć, jak często jedna surowa intensywność występuje obok innej w regionie zainteresowania. Liczba możliwych stanów par byłaby duża, a większość z nich występowałaby rzadko albo wcale. Powstałaby duża, rzadka macierz, która słabo reprezentowałaby wzorce przestrzenne, jakie ma podsumowywać to obliczenie.
Dyskretyzacja zastępuje ciągłą lub gęsto próbkowaną oś intensywności zadeklarowanym alfabetem poziomów szarości. Woksele, których wartości mieszczą się w tym samym przedziale, otrzymują ten sam poziom szarości. Teksturę oblicza się następnie z relacji między przypisanymi poziomami, a nie bezpośrednio z surowych etykiet intensywności. Wybór przedziałów należy zatem do definicji pomiaru. Rozstrzyga, które różnice pozostają widoczne dla macierzy, a które są celowo traktowane jako równoważne.
Dyskretyzacja jest częścią definicji
W konwencji stałej szerokości przedziału opisanej w dokumentacji PyRadiomics oś intensywności dzieli się na przedziały o równej szerokości, rozmieszczone względem zera. Nieprzesunięty indeks przedziału wynosi
bin_index = floor(HU / binWidth)Następnie implementacja przesuwa etykiety tak, aby najmniejszy poziom szarości wewnątrz regionu otrzymał wartość 1. Pełne odwzorowanie ma postać
X_b = floor(HU / binWidth) - floor(min(HU_ROI) / binWidth) + 1Przesunięcie zmienia etykiety, lecz nie zmienia tego, które woksele należą do
wspólnego przedziału. Dla zrozumienia konstrukcji ważne jest dzielenie przez
wybraną wartość binWidth i zaokrąglanie wyniku w dół.
Rozważmy przykład z ilustracyjną wartością binWidth = 25, przedstawiając
nieprzesunięte wartości zaokrąglone w dół:
| HU | floor(HU / 25) |
|---|---|
-40 |
-2 |
-30 |
-2 |
-20 |
-1 |
+30 |
+1 |
Wartości -40 i -30 trafiają więc do tej samej kategorii poziomu szarości,
natomiast -20 i +30 do różnych kategorii. Późniejsze przesunięcie nadaje
kategoriom etykiety wygodne dla implementacji; nie przywraca rozróżnień
intensywności usuniętych przez szerokość przedziału.
Jest to konwencja PyRadiomics, a nie uniwersalny synonim dyskretyzacji IBSI.
Metoda stałego rozmiaru przedziału IBSI wykorzystuje
floor((X - X_min) / w) + 1, a przedziały są zakotwiczone w minimalnej
intensywności regionu. PyRadiomics stosuje natomiast zakotwiczone w zerze
floor(X / w), po czym wykonuje pokazane wyżej stałe przeetykietowanie. Różnica
ma znaczenie, ponieważ obie reguły mogą przypisać wartości graniczne do różnych
kategorii poziomów szarości. Wspólna konsekwencja metodologiczna jest taka, że
dyskretyzacja definiuje cechę: zmiana reguły może zmienić macierz, a przez to
wartość tekstury. Odpowiednie konwencje opisują dokumentacja konfiguracji
PyRadiomics i
publikacja referencyjna
IBSI.
Kierunkowa GLCM zbudowana ręcznie
Weźmy mały region, który został już zdyskretyzowany do poziomów szarości
{1, 2, 3}:
1 1 2 31 2 2 32 2 3 31 2 3 3GLCM, czyli macierz współwystępowania poziomów szarości, zlicza, jak często
poziom szarości i występuje obok poziomu szarości j w ramach określonej
relacji przestrzennej. Wybierzmy relację „jeden woksel w prawo”: poziomego
sąsiada w odległości 1. Przejście od lewej do prawej w każdym wierszu daje
następujące uporządkowane pary:
| Wiersz | pary |
|---|---|
| wiersz 1 | (1,1) (1,2) (2,3) |
| wiersz 2 | (1,2) (2,2) (2,3) |
| wiersz 3 | (2,2) (2,3) (3,3) |
| wiersz 4 | (1,2) (2,3) (3,3) |
Par jest dwanaście, ponieważ każdy z czterech wierszy wnosi trzech poziomych sąsiadów. Pierwszy element każdej pary umieszczamy w wierszach macierzy, a drugi w jej kolumnach:
j=1 j=2 j=3i=1 [ 1 3 0 ]i=2 [ 0 2 4 ]i=3 [ 0 0 2 ]Element w wierszu i i kolumnie j oznacza, ile razy dla tego przesunięcia
wystąpiło uporządkowane przejście i -> j. Podzielenie każdego elementu przez
łączną liczbę 12 zamienia liczności w prawdopodobieństwa. Cechy macierzy oblicza
się następnie na podstawie tej reprezentacji prawdopodobieństwa.
Ta macierz dydaktyczna zlicza wyłącznie skierowane przesunięcie od lewej do prawej: każda uporządkowana para wnosi jeden wkład, co daje N=12. Konstrukcja GLCM według IBSI oraz domyślna konstrukcja PyRadiomics łączą przeciwne przesunięcia w symetryczną macierz; pokazane asymetryczne zliczenie jest wkładem delta=(1,0) przed symetryzacją, a nie standardową ani domyślną końcową GLCM.
Ten mały przykład uwidacznia, że kierunek jest częścią wyniku. Gdyby zliczano przeciwne przesunięcie, uporządkowane pary zostałyby odwrócone. Gdyby uwzględniono kilka kierunków, istniałoby kilka macierzy. Obliczenie mogłoby pozostawić je oddzielnie, połączyć przed obliczeniem cechy albo obliczyć cechę dla każdej macierzy i zagregować uzyskane wartości. W przypadku podsumowań nieliniowych wybory te nie są równoważne:
feature(average_i(matrix_i)) is not generally identical to average_i(feature(matrix_i))Sama nazwa „GLCM” nie określa więc w pełni pomiaru. Trzeba znać także przesunięcie, odległość, kierunek, konwencję symetrii i regułę agregacji.
Dwa podsumowania jednej macierzy
Macierz liczności nie jest obrazem biologii. Jest skompresowanym opisem przejść wytworzonych przez jeden zdyskretyzowany obraz i jedną regułę sąsiedztwa. Różne matematyczne podsumowania tej samej macierzy mogą akcentować różne właściwości.
Joint Entropy opisuje, jak szeroko masa prawdopodobieństwa jest rozłożona między zajętymi komórkami macierzy. Jeśli większość masy skupia się w kilku stanach, entropia jest mniejsza; jeśli masa rozkłada się na więcej stanów, entropia jest większa. W obliczonej macierzy zajętych jest pięć komórek, między które rozdzielona jest masa, dlatego entropia jest umiarkowana. Entropia sama w sobie nie waży komórki według jej odległości od przekątnej. Przejście z poziomu 1 do poziomu 3 oraz przejście z poziomu 1 do poziomu 2 zajmują różne komórki, ale odległość od przekątnej nie jest tym, co bezpośrednio mierzy podsumowanie entropijne.
Contrast wykorzystuje odległość od przekątnej. Wkład pary jest ważony przez
(i - j)^2, dlatego przejścia między znacznie oddalonymi poziomami wnoszą
większy wkład niż przejścia między poziomami równymi lub sąsiednimi. W
obliczonej macierzy zajęte komórki poza przekątną są oddalone od niej tylko o
jeden poziom szarości. Przeniesienie porównywalnej masy prawdopodobieństwa do
komórek takich jak (1,3) lub (3,1) zwiększyłoby Contrast, ponieważ komórki te
mają większą kwadratową odległość od przekątnej.
Te dwa podsumowania uzupełniają się zatem, a nie zastępują. Płynne przejście przez sąsiednie poziomy może mieć mały kontrast, a jednocześnie rozkładać prawdopodobieństwo między kilkoma komórkami macierzy i dawać umiarkowaną entropię. Nazwa cechy, taka jak Joint Entropy lub Contrast, wskazuje matematyczne podsumowanie skonstruowanej macierzy; nie dowodzi, że podsumowanie mierzy określony mechanizm tkankowy.
Pozostałe rodziny tekstury działają według tego samego ogólnego wzorca, lecz zliczają inne obiekty. GLRLM zlicza serie jednakowych poziomów szarości wzdłuż kierunku. GLSZM zlicza połączone strefy o równym poziomie. GLDM zlicza zależności w sąsiedztwie według zadeklarowanej odległości i reguły zależności. NGTDM porównuje poziom szarości woksela z lokalną średnią sąsiedztwa. Każda macierz wymaga własnej definicji przestrzennej, zanim będzie można interpretować jej cechy.
Kierunek, wymiarowość i agregacja
Obliczona macierz jest płaska i wykorzystuje jedno skierowane przesunięcie poziome. Analiza dwuwymiarowa może budować macierze w obrębie poszczególnych przekrojów, a następnie je agregować. Analiza trójwymiarowa może obejmować relacje między sąsiednimi przekrojami objętości. Są to różne konstrukcje, nawet jeśli wykorzystują tę samą maskę i te same wartości intensywności. GLCM 2D i GLCM 3D jednego regionu są zatem różnymi wielkościami, a nie dwoma sposobami prezentacji jednej liczby bazowej.
Znaczenie ma również siatka fizyczna. Sąsiad w tablicy jest interpretowany w ramach kontraktu geometrii obrazu i resamplingu. Odstępy między przekrojami, anizotropia i wybrana siatka docelowa wpływają na to, jakie relacje fizyczne reprezentuje nominalne przesunięcie. Ta sama nominalna odległość może opisywać inne oddalenie fizyczne w dwóch obrazach o różnej geometrii.
Agregacja wprowadza kolejną warstwę znaczenia. Połączenie macierzy właściwych dla kierunków lub odległości przed obliczeniem cechy daje tej cesze jedną wspólną strukturę prawdopodobieństwa. Obliczenie osobnych wartości cechy, a następnie ich uśrednienie powoduje, że każda macierz otrzymuje osobne podsumowanie przed połączeniem. Żadnego z tych rozwiązań nie można uznać za uniwersalną interpretację nazwy rodziny. Odtwarzalny raport musi podawać wymiarowość, przesunięcia lub odległości, kierunki, sposób uwzględnienia symetrii i konwencję agregacji.
Konsekwencje dla tabeli pomiarów
Przeprowadzona konstrukcja pokazuje również, dlaczego kolumny tekstury nie można
porównywać wyłącznie na podstawie nazwy. Dwie wartości o nazwie JointEntropy
mogły zostać obliczone z różnych odwzorowań poziomów szarości, na różnych
siatkach fizycznych, dla różnych sąsiedztw lub według różnych reguł agregacji.
Każda z nich może być naukowo użyteczna dla właściwego pytania, ale nie są one
automatycznie tym samym pomiarem.
Dyskretyzacja, kierunek, wymiarowość i agregacja nie są ustawieniami kosmetycznymi stosowanymi po zmierzeniu tekstury. Określają macierz, z której oblicza się cechę. Zmiana szerokości przedziału może połączyć lub rozdzielić poziomy szarości. Zmiana kierunku może zastąpić jeden zbiór uporządkowanych przejść innym. Przejście od konstrukcji płaskiej do objętościowej może dodać relacje między przekrojami. Zmiana agregacji może zmienić strukturę prawdopodobieństwa przed obliczeniem podsumowania nieliniowego.
Z tego samego powodu cechy tekstury należy traktować jako powiązanych kandydatów, a nie niezależne obserwacje biologiczne. Kilka cech może podsumowywać różne aspekty tej samej macierzy, a macierze zbudowane dla powiązanych kierunków, odległości lub obrazów filtrowanych mogą wielokrotnie wykorzystywać znaczną część tych samych informacji. Może to wywołać zależność lub korelację, ale nie gwarantuje jej dla każdej pary. Następny etap analizy musi zachować rozróżnienie między podsumowaniem matematycznym, kontraktem pomiarowym, który je wytworzył, oraz późniejszą interpretacją biologiczną lub predykcyjną.
Następna sekcja bada ten kontrakt w warunkach kontrolowanej zmiany: Dlaczego
binWidth zmienia wynik prowadzi te same woksele
przez różne wybory dyskretyzacji i pokazuje, jak zmiana alfabetu poziomów
szarości zmienia wynikowy pomiar tekstury.
Źródła
- Zwanenburg A, Vallières M, Abdalah MA, et al. The Image Biomarker Standardisation Initiative: standardized quantitative radiomics for high-throughput image-based phenotyping. Radiology. 2020;295(2):328-338. doi:10.1148/radiol.2020191145, PMID 32154773 oraz opublikowany pełny tekst w PMC7193906.
- Dokumentacja PyRadiomics: definicje cech radiomicznych oraz konfiguracja ekstrakcji.
© 2026 Adrian Tkacz · BioMedical-IT
Oryginalne teksty i ilustracje są udostępniane na licencji Creative Commons Uznanie autorstwa–Użycie niekomercyjne 4.0 Międzynarodowe (CC BY-NC 4.0), o ile nie zaznaczono inaczej. Przy ponownym wykorzystaniu proszę podać Adrian Tkacz / BioMedical-IT jako autora i zamieścić odnośnik do oryginalnego źródła. Materiały osób trzecich zachowują własne prawa i warunki licencyjne.