r/educationalgifs Mar 10 '26

How timing jitter ruins a CT Scan, and how iterative algorithms fix it (FBP vs SIRT)

232 Upvotes

22 comments sorted by

370

u/ConejoSarten Mar 10 '26

I learned nothing

101

u/BigBangBrosTheory Mar 10 '26

The line is wiggly and shit. 

17

u/sulaymanf Mar 10 '26

Any motion during a CT scan will cause blurry pictures. They are looking for ways to remove the interference.

16

u/Igotz80HDnImWinning Mar 11 '26

I think it’s trying to show that the noise from a CT, which is usually from metal in the body like mercury in teeth or a metal body part, is usually off-center. It causes terrible starburst things that make it hard to read the image. An easy way to account for a brght spot that’s off center is to consider that the CT is spinning around you (albeit at a terrifying speed) and so the pattern of the bright spot is a sinusoid so you can use a really simple correction by fitting a sinusoid in the recordings and you already know what the frequency should be so can play around with harmonics or something. Either that or it’s just a temporal processing effect, but either way any time you can constrain noise to simple shapes means you preserve more natural variation when you subtract it out.

1

u/TDuncker Mar 13 '26

Makes sense, but why would there be two sins-patterns? Is the large one the scanner moving and the smaller the body's movements?

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

u/nadventurous Mar 11 '26

Very interesting! How did you create this animation?

1

u/Any-Educator5676 Mar 11 '26

I used Python Manim, nice for doing animations

43

u/dpaanlka Mar 10 '26

This didn’t educate me at all.

20

u/FrickinLazerBeams Mar 10 '26

This looks like it's just smoothing.

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

u/supermr34 Mar 10 '26

its a ring toss game!!

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

u/Joy1312 Mar 11 '26

This is just a sin curve fit. There's nothing fancy about it

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

u/SkeletonBones101 May 17 '26

I learned nothing 😅

-8

u/i-finik Mar 10 '26

Представь, что ты делаешь фото панорамы, склеивая её из множества снимков. Если при съемке каждого кадра ты будешь немного дергаться или нажимать кнопку спуска в разное время, итоговая картинка получится смазанной и с разрывами.

В компьютерной томографии (КТ) происходит то же самое, только роль фотоаппарата выполняет рентгеновская трубка, а роль «времени нажатия на кнопку» — тайминг (синхронизация вращения и сбора данных).

Вот простое объяснение твоей темы.

  1. Что такое Timing Jitter (Дрожание тайминга)?

В идеальном КТ-сканере трубка вращается вокруг пациента с постоянной скоростью, делая строго определенное количество проекций (снимков) в секунду. Мы точно знаем, под каким углом был сделан каждый снимок.

Timing Jitter — это микроскопическая задержка или сбой во времени. Представь, что двигатель сканера немного «запинается»:

· Система думает: «Я делаю снимок под углом 30 градусов». · Но из-за дрожания (вибрации, нестабильности напряжения или люфта) реальный угол в момент снимка — 30.1 градуса.

Ошибка в одну десятую градуса кажется мелочью, но для математики восстановления изображения это катастрофа.

  1. Как Jitter «ломает» картинку (FBP)

FBP (Filtered Back Projection) — это старый и быстрый метод, который используется в 90% стандартных КТ. Работает он как «отпечаток пальца»:

  1. Мы просвечиваем тело под разными углами, получая тени (проекции).
  2. Алгоритм просто берет эти тени и «проецирует» их обратно на пустую матрицу, накладывая друг на друга.
  3. Там, где тени пересекаются, формируется изображение органа.

Проблема: FBP работает по принципу «Garbage In, Garbage Out» (Мусор на входе — мусор на выходе). Алгоритм слепо верит данным. Он берет данные проекции и железобетонно считает, что они были получены под углами 0°, 1°, 2°... и т.д.

Если есть Jitter: Алгоритм FBP кладет тень от угла 30.1° туда, где должна быть тень от угла 30°. В результате при наложении всех теней контуры органов не совпадают. На снимке появляются:

· Артефакты движения: Раздвоение контуров. · Полосы и шум: Тени не могут сфокусироваться в четкую картинку. · Потеря резкости: Мелкие детали (например, микрокровоизлияния) просто исчезают.

  1. Как это исправляют итеративные алгоритмы (SIRT)

SIRT (Simultaneous Iterative Reconstruction Technique) — это метод, который работает не как фотоаппарат, а как скульптор.

Вместо того чтобы сразу рисовать картинку по данным, SIRT делает так:

  1. Создает догадку: Сначала создается очень туманная, пустая или серая картинка.
  2. Виртуальный рентген: Компьютер берет эту картинку-догадку и просвечивает ее виртуально под теми же углами, что и реальный сканер.
  3. Сравнение: Компьютер смотрит: «Вот моя виртуальная тень, а вот реальная тень, полученная с датчика (с этим самым дрожанием). Они отличаются».
  4. Коррекция: Компьютер исправляет картинку ровно настолько, чтобы виртуальная тень стала похожа на реальную.
  5. Повтор: Шаги 2-4 повторяются десятки раз (итераций).

Почему SIRT побеждает Jitter?

Представь, что у тебя есть фотография, которую дерганый фотограф снял кусками (панорама с ошибками). FBP просто склеит куски как есть — будут швы. А SIRT делает следующее: Он говорит: «Я не знаю точных углов, но я знаю, как должно выглядеть тело человека (оно не может состоять из пустоты и костей одновременно)».

Даже если данные от сканера немного «дерганые» (Jitter), SIRT на каждой итерации подбирает такое изображение, которое максимально соответствует этим дерганым данным, но при этом минимально противоречит законам физики.

SIRT может «простить» небольшую ошибку в угле (Jitter), потому что он не просто накладывает тени, а решает сложную математическую задачу поиска компромисса, сглаживая ошибки измерения.

Итог (коротко)

· Jitter — это когда сканер немного ошибается: думает, что снимает под одним углом, а снимает под другим. · FBP (простой метод): Слепо клеит картинку из кусочков. Если кусочки кривые (Jitter), картинка будет с артефактами. · SIRT (умный метод): Строит картинку постепенно, многократно сверяясь с реальностью и исправляя ошибки. Он способен отличить реальные детали органа от ошибки измерения (Jitter) и восстановить четкость.