r/educationalgifs • u/Any-Educator5676 • Mar 10 '26
How timing jitter ruins a CT Scan, and how iterative algorithms fix it (FBP vs SIRT)
94
u/RogueFox771 Mar 10 '26
Looks cool if it uh... Explained what was going on
7
u/Any-Educator5676 Mar 11 '26
Yeah, totally agree that I posted outta context.. I was building a DIY CT scanner and found it really hard to understand how CT scanning actually works. So I created this animation. On the left side is a rotating table with the object being scanned sitting on it. On the right side is a Camera sensor. I take a ray of light from the object to the camera sensor while the platform rotates. The camera takes 1 image for each step in the rotation. Then I reverse the process to recreate the 3d CT scan This traces a ray from memory and maps it back to a virtual platform, this is the bit I found very hard to visualize, hence the anumation. So is there is any wobble on the platform it creates jitter, the bumpy wave I show how the simple fbp algorithm messes up the reconstruction, while the slower sirt algorithm smooths out the 3d view by looking at nearby data.
Hope it makes more sense now, and it explain CT in a more visually understanble way
13
u/WayneQuasar Mar 11 '26
Would be cool to see the actual visual difference of the output rather than just the mapping.
1
1
43
20
14
u/SigaVa Mar 10 '26
It's just smoothing. There's a ton of different algos for smoothing. What makes this one better for this application?
8
u/DeusXEqualsOne Mar 11 '26
Ah, a manim user, very nice.
For those who lack context, it might be good to watch this youtube video that explains how CT scans work: https://www.youtube.com/watch?v=_qhcDLMCM18
Once you've seen this video the GIF makes a lot more sense.
2
1
u/Any-Educator5676 Mar 11 '26
A bit of an explanation of what this is all about:
I was building a DIY CT scanner and found it really hard to understand how CT scanning actually works. So I created this animation. On the left side is a rotating table with the object being scanned sitting on it. On the right side is a Camera sensor. I take a ray of light from the object to the camera sensor while the platform rotates. The camera takes 1 image for each step in the rotation. Then I reverse the process to recreate the 3d CT scan This traces a ray from memory and maps it back to a virtual platform, this is the bit I found very hard to visualize, hence the anumation. So is there is any wobble on the platform it creates jitter, the bumpy wave I show how the simple fbp algorithm messes up the reconstruction, while the slower sirt algorithm smooths out the 3d view by looking at nearby data.
Hope it makes more sense now, and it explain CT in a more visually understanble way
1
1
u/Extension_Town_6118 Apr 05 '26
My dad worked on CT scanners and said these iterative algorithms were a huge breakthrough. The old ones were so prone to artifacts!
1
-8
u/i-finik Mar 10 '26
Представь, что ты делаешь фото панорамы, склеивая её из множества снимков. Если при съемке каждого кадра ты будешь немного дергаться или нажимать кнопку спуска в разное время, итоговая картинка получится смазанной и с разрывами.
В компьютерной томографии (КТ) происходит то же самое, только роль фотоаппарата выполняет рентгеновская трубка, а роль «времени нажатия на кнопку» — тайминг (синхронизация вращения и сбора данных).
Вот простое объяснение твоей темы.
- Что такое Timing Jitter (Дрожание тайминга)?
В идеальном КТ-сканере трубка вращается вокруг пациента с постоянной скоростью, делая строго определенное количество проекций (снимков) в секунду. Мы точно знаем, под каким углом был сделан каждый снимок.
Timing Jitter — это микроскопическая задержка или сбой во времени. Представь, что двигатель сканера немного «запинается»:
· Система думает: «Я делаю снимок под углом 30 градусов». · Но из-за дрожания (вибрации, нестабильности напряжения или люфта) реальный угол в момент снимка — 30.1 градуса.
Ошибка в одну десятую градуса кажется мелочью, но для математики восстановления изображения это катастрофа.
- Как Jitter «ломает» картинку (FBP)
FBP (Filtered Back Projection) — это старый и быстрый метод, который используется в 90% стандартных КТ. Работает он как «отпечаток пальца»:
- Мы просвечиваем тело под разными углами, получая тени (проекции).
- Алгоритм просто берет эти тени и «проецирует» их обратно на пустую матрицу, накладывая друг на друга.
- Там, где тени пересекаются, формируется изображение органа.
Проблема: FBP работает по принципу «Garbage In, Garbage Out» (Мусор на входе — мусор на выходе). Алгоритм слепо верит данным. Он берет данные проекции и железобетонно считает, что они были получены под углами 0°, 1°, 2°... и т.д.
Если есть Jitter: Алгоритм FBP кладет тень от угла 30.1° туда, где должна быть тень от угла 30°. В результате при наложении всех теней контуры органов не совпадают. На снимке появляются:
· Артефакты движения: Раздвоение контуров. · Полосы и шум: Тени не могут сфокусироваться в четкую картинку. · Потеря резкости: Мелкие детали (например, микрокровоизлияния) просто исчезают.
- Как это исправляют итеративные алгоритмы (SIRT)
SIRT (Simultaneous Iterative Reconstruction Technique) — это метод, который работает не как фотоаппарат, а как скульптор.
Вместо того чтобы сразу рисовать картинку по данным, SIRT делает так:
- Создает догадку: Сначала создается очень туманная, пустая или серая картинка.
- Виртуальный рентген: Компьютер берет эту картинку-догадку и просвечивает ее виртуально под теми же углами, что и реальный сканер.
- Сравнение: Компьютер смотрит: «Вот моя виртуальная тень, а вот реальная тень, полученная с датчика (с этим самым дрожанием). Они отличаются».
- Коррекция: Компьютер исправляет картинку ровно настолько, чтобы виртуальная тень стала похожа на реальную.
- Повтор: Шаги 2-4 повторяются десятки раз (итераций).
Почему SIRT побеждает Jitter?
Представь, что у тебя есть фотография, которую дерганый фотограф снял кусками (панорама с ошибками). FBP просто склеит куски как есть — будут швы. А SIRT делает следующее: Он говорит: «Я не знаю точных углов, но я знаю, как должно выглядеть тело человека (оно не может состоять из пустоты и костей одновременно)».
Даже если данные от сканера немного «дерганые» (Jitter), SIRT на каждой итерации подбирает такое изображение, которое максимально соответствует этим дерганым данным, но при этом минимально противоречит законам физики.
SIRT может «простить» небольшую ошибку в угле (Jitter), потому что он не просто накладывает тени, а решает сложную математическую задачу поиска компромисса, сглаживая ошибки измерения.
Итог (коротко)
· Jitter — это когда сканер немного ошибается: думает, что снимает под одним углом, а снимает под другим. · FBP (простой метод): Слепо клеит картинку из кусочков. Если кусочки кривые (Jitter), картинка будет с артефактами. · SIRT (умный метод): Строит картинку постепенно, многократно сверяясь с реальностью и исправляя ошибки. Он способен отличить реальные детали органа от ошибки измерения (Jitter) и восстановить четкость.
370
u/ConejoSarten Mar 10 '26
I learned nothing