Рентгеновский аппарат с решётками делает не одну, а сразу три фотографии: обычный снимок, карту невидимых глазу изгибов луча и изображение мельчайших структур, которые рассеивают свет. Вместе они помогают разглядеть, например, эмфизему или фиброз лёгких. Но есть загвоздка: чтобы разделить эти три слоя, нужен хитрый математический приём. Десятилетиями использовали один и тот же — подгоняли данные под синусоиду, как будто накладывали на снимок волну с правильным ритмом. Проблема в том, что любая царапина на решётке или слабый сигнал сбивают этот ритм, и на изображении появляются полосы, похожие на рябь от брошенного в воду камня.
Авторы новой работы взяли за основу уравнение, которое описывает, как свет, проходя через вещество, слегка меняет направление и рассеивается — примерно как луч фонарика в тумане. Это уравнение Фоккера–Планка, и оно умеет учитывать случайные толчки, которые получает каждый фотон. Вместо того чтобы подгонять синусоиду, алгоритм смотрит, как плавно меняется яркость от пикселя к пикселю, и сам догадывается, где настоящая тень, а где — мусор от дефектов решётки. Получается, будто снимок протирают мягкой тканью, убирая пыль, но не трогая важные детали.
Это не просто косметическое улучшение. Когда рентген делают быстро — например, чтобы не просить пациента задерживать дыхание надолго, — сигнал слабеет, и шум может скрыть крошечный узелок. Алгоритм на основе Фоккера–Планка вытягивает из такого шума больше полезного, чем привычная синусоида. Он как опытный реставратор, который по нескольким уцелевшим мазкам восстанавливает всю картину, не додумывая лишнего.
Уравнение Фоккера–Планка, которое легло в основу метода, изначально придумали для описания броуновского движения — тех самых хаотичных скачков пыльцы в воде, которые когда-то разглядывал в микроскоп ботаник Роберт Броун.
В фантастических рассказах о медицинских сканерах будущего часто мелькает идея прибора, который видит человека насквозь без единого искажения — этот алгоритм делает шаг именно в ту сторону.