Kiedy CT i segmentacja rzeczywiście współdzielą przestrzeń
Masz obraz CT i segmentację guza. Chcesz nałożyć maskę na obraz i mieć pewność, że
znajduje się ona na guzie. Kiedy jest to bezpieczne? Poznane dotąd narzędzia —
przekształcenie afiniczne, normalna do przekroju, kontrole siatki — stają się tutaj
rozstrzygające, ponieważ odpowiedzi nie da się odczytać z pojedynczego tagu.
FrameOfReferenceUID daje pozwolenie na sprawdzenie geometrii, ale nie dowodzi,
że geometrie są zgodne. Decyzję zawsze podejmuje się na podstawie rzeczywistych
współrzędnych.
Zgodne FoR, a mimo to błędne nałożenie
SEG wyprowadzony bezpośrednio — taki, którego źródłowe SOP UID wskazują CT — jest
przestrzennie powiązany z CT, ale nie musi współdzielić jego siatki wokseli.
DICOM jawnie dopuszcza, aby SEG różnił się od źródła rozmiarem i rozdzielczością
oraz zawierał własne położenia poszczególnych klatek. SEG mógł zostać poddany
zmianie próbkowania, zapisany na wolumenie z ponownie wyznaczonymi przekrojami albo
zawierać położenia poszczególnych klatek różniące się od położeń przekrojów CT.
Przy naiwnym nakładaniu indeks po indeksie maska trafia wtedy o jeden przekrój obok
guza; przeglądarka lub narzędzie zmiany próbkowania uwzględniające geometrię powinno
respektować rzeczywiste położenia SEG i albo umieścić maskę prawidłowo, albo ujawnić
niezgodność. Zgodny FrameOfReferenceUID tego nie wykryje — pozwala na to
porównanie rzeczywistej geometrii.
Co oznacza FrameOfReferenceUID
FrameOfReferenceUID (0020,0052) identyfikuje przestrzenny układ
współrzędnych. Jest deklaracją, w którym układzie pacjenta wyrażono współrzędne
obiektu, a nie dowodem zgodności na poziomie wokseli:
- Zgodne FoR → obiekty deklarują ten sam układ pacjenta. Daje to pozwolenie na bezpośrednie porównanie geometrii, ale nie dowodzi identyczności siatek (początek układu, odstępy i kierunek nadal mogą się różnić).
- Różne FoR → nie nakładaj obiektów bez sprawdzenia. Nadal mogą być powiązane przestrzennie, ale wyłącznie przez jawną rejestrację, która odwzorowuje jeden układ na drugi.
same FoR ≠ same voxel grid (still verify origin/spacing/direction)different FoR ≠ impossible to relate (an explicit registration can map them)different FoR ⇒ do NOT overlay without an explicit spatial relationshipFoR jest niezbędnym kontekstem; rozstrzyga geometria
Nawet przy zgodnym FoR o wyrównaniu decyduje rzeczywista geometria, a nie UID. Dwa obiekty w tym samym układzie mogą nadal mieć różne początki, odstępy lub orientacje — SEG poddano zmianie próbkowania albo wolumen z ponownie wyznaczonymi przekrojami zapisano z powrotem w tym samym układzie. Porównuje się więc geometrię (początek układu, odstępy, kierunek), a nie identyfikatory.
Zgodny UID ustanawia wspólny układ współrzędnych: współrzędne obiektów można porównywać w jednym układzie odniesienia. Nie ustanawia równości siatek — o niej decyduje geometria płaszczyzny obrazu. Jeśli FoR nie istnieje lub się różni, obiekty nie mają zadeklarowanego powiązania przestrzennego: przed nałożeniem trzeba ustanowić jawną, udokumentowaną relację przestrzenną.
Reguła praktyczna: traktuj FoR jako kontekst — zgodność pozwala przejść do bezpośredniego sprawdzenia geometrii; niezgodność oznacza, że przed jakimkolwiek nałożeniem potrzebna jest jawna rejestracja. O tym, czy dwie siatki się pokrywają, zawsze rozstrzyga geometria.
Procedura decyzyjna
Dla CT i SEG ustal, czy maska znajduje się już na siatce CT:
- Ustal źródło. Dopasuj
ReferencedSeriesSequenceSEG oraz źródłoweSOPInstanceUIDposzczególnych klatek do serii i przekrojów CT. Poprawne odwołania ustanawiają relację możliwą do odczytania maszynowego między SEG a tym CT. Jeżeli odwołań nie ma albo nie wskazują tego CT, wyprowadzenie z tego CT nie jest ustanowione przez te pola — DICOM dopuszcza zapisy SEG, które opierają się na geometrii Frame of Reference i pomijają odwołania do wyprowadzenia w poszczególnych klatkach — dlatego zbadaj inne odwołania i dowody pochodzenia; nie wnioskuj o braku wyprowadzenia wyłącznie z braku tych pól. - Sprawdź FoR. Zgodność pozwala przejść dalej; niezgodność oznacza, że przed porównaniem potrzebna jest jawna rejestracja.
- Porównaj rzeczywistą geometrię, z tolerancją określoną z góry dla każdej
wielkości — w jej jednostkach fizycznych i odpowiednio do precyzji kodowania;
nie istnieje jedna uniwersalna tolerancja:
- równoważne wymiary i zasięg? (zgodny kształt siatki i liczba klatek)
- równoważny początek układu i położenia? (zgodne wartości
ImagePositionPatientposzczególnych klatek) - równoważne odstępy? (
PixelSpacingoraz odstępy między przekrojami wynikające z położeń klatek) - równoważny kierunek? (zgodne cosinusy
ImageOrientationPatient) - zgodność klatek? (każda klatka SEG odpowiada zamierzonemu przekrojowi CT)
- spójność źródła i odwołań? (odwołania z kroku 1 wskazują to CT i jego instancje)
- Sklasyfikuj parę — są to etykiety tego rozdziału używane w tej decyzji, a
nie wartości wyliczeniowe DICOM:
EXACT_GRID— geometria jest zgodna; użyj maski bezpośrednio, bez zmiany próbkowania.RESAMPLING_REQUIRED— wspólny układ lub zamierzone powiązanie, ale inna siatka; zmień próbkowanie maski do siatki CT (sekcja o zmianie próbkowania).INCOMPATIBLE— bez dodatkowych informacji nie można bezpiecznie powiązać obiektów.
FoR stanowi kontekst; o tym, czy siatki się pokrywają, decydują rzeczywiste pozycje, odstępy i kierunek.
TRACE-CT rejestruje te kontrole w zatwierdzonym kodzie, choć żadna pojedyncza funkcja nie zwraca trzech powyższych etykiet; kontrola wstępna w tym projekcie posługuje się bogatszym wewnętrznym słownikiem stanów, zapisanym w mapie nauki. FoR jest sprawdzany, lecz decyzja zapada na podstawie rzeczywistej geometrii.
Procedura okazuje się niezbędna przy awarii, która wymyka się każdej tańszej
kontroli. Załóżmy, że SEG i CT mają ten sam FrameOfReferenceUID, SEG wskazuje UID
serii CT, a kształty ich tablic są zgodne — mimo to maska trafia o jeden przekrój
obok guza. Przyczyną jest niezgodność położenia poszczególnych klatek: klatki
SEG zapisano w położeniach, które nie pokrywają się ze środkami przekrojów CT, na
przykład dlatego, że SEG utworzono na wersji CT z ponownie wyznaczonymi przekrojami
lub zmienionym próbkowaniem, a następnie zapisano z powrotem z tym samym FoR i
kształtem. To samo FoR, ten sam kształt, te same odwołania — ale wartości
ImagePositionPatient poszczególnych klatek się różnią, więc naiwne nakładanie
indeks po indeksie umieszcza maskę na niewłaściwych fizycznych przekrojach.
Nakładanie uwzględniające geometrię respektuje położenia i albo umieszcza maskę
prawidłowo, albo ujawnia przesunięcie. Wykrywa je porównanie położeń, a także pełne
porównanie afiniczne siatek lub bezpośrednia kontrola wzrokowa. Równość kształtów
nie mówi nic o geometrii; równość FoR oznacza tylko wspólny układ; rozstrzyga
równość geometrii.
Rejestracja: powiązanie obiektów w różnych układach
Gdy dwa obiekty znajdują się w różnych układach odniesienia — MRI przed podaniem
kontrastu i MRI po podaniu kontrastu albo CT i MRI — nie są „nieprawidłowo
dopasowane”, lecz niepowiązane, dopóki nie zostaną powiązane. Jawna
rejestracja jest przekształceniem przestrzennym (sztywnym, afinicznym lub
odkształcalnym), które odwzorowuje współrzędne z jednego układu na drugi. Gdy jest
dostępne, można zmienić próbkowanie jednego obiektu do układu drugiego, a następnie
zastosować opisaną wyżej logikę EXACT_GRID/RESAMPLING_REQUIRED.
Jakość rejestracji sama jest zmienną: nieznacznie błędne przekształcenie nakłada niewłaściwą anatomię równie czysto jak prawidłowe. W 3D Slicer moduły registration, takie jak General Registration, obliczają te przekształcenia, natomiast moduł Transforms je wizualizuje, edytuje i stosuje. Wzrokowa ocena wyniku — przewijanie nałożenia w wielu orientacjach — jest koniecznym, uzupełniającym elementem kontroli jakości. Dlatego studium przypadku kontroli wzrokowej na końcu tego rozdziału (studium przypadku) nie jest opcjonalne; jednak sama zgodność wzrokowa nie dowodzi dokładności rejestracji.
Wiedza, że dwa obiekty współdzielą przestrzeń, pozostawia jeszcze pytanie o reprezentację: czym właściwie jest dopasowana segmentacja? Tablica maski, DICOM SEG i RTSTRUCT przechowują ten sam guz w różny sposób, a następna sekcja pokazuje, co każda postać zachowuje, a co po cichu odrzuca.
Źródła
- DICOM PS3.3, Frame of Reference Module (C.7.4), w tym
FrameOfReferenceUID(0020,0052): wspólny układ ustanawia relację przestrzenną, a nie identyczność siatek. (bieżące wydanie) - DICOM PS3.3, Image Plane Module (C.7.6.2): semantyka
ImagePositionPatient,ImageOrientationPatientiPixelSpacing. (bieżące wydanie) - DICOM PS3.3, Segmentation Image Module (C.8.20.2) i Segmentation Functional Groups (A.51.5): SEG może różnić się od źródła rozmiarem i rozdzielczością oraz zawierać własne położenia i odwołania do wyprowadzenia dla poszczególnych klatek. (C.8.20.2, A.51.5)
- DICOM PS3.3, Common Instance Reference Module (C.12.2):
ReferencedSeriesSequencei odwołania do instancji. (bieżące wydanie) - Dokumentacja 3D Slicer — moduły rejestracji (obliczanie przekształceń) i moduł Transforms (wizualizacja, edycja i stosowanie przekształceń). (podręcznik użytkownika)
- TRACE-CT w commicie 7aaf308c76ed2718fd0b364d1cde856969711b72 — ograniczona implementacja studium przypadku: funkcje geometrii w
scripts/seg_decode_resample.py, w tymclassify_transfer_pair(), stany geometrii wscripts/rider_preflight.pyoraz ustalony słownik geometrii wscripts/rider_qualification_matrix.py. (commit)
© 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.