Архивы: по дате | по разделам | по авторам

Повтор. Ускорено

Архив
автор : Алексей Климов   30.07.2003

Компьютер плюс численные методы в руках средней умелости заменяют пару кубометров логарифмических линеек эпохи раннего ракетостроения. Было бы что считать.

Я ехал в поезде, светало… Все уже было или бывало? Вот в чем вопрос. Нужен ли опыт прошлого, того неторопливого времени, где тратили целую жизнь на доказательство одной теоремы или поиски одной бабочки, в эпоху перманентно сырых идей и продуктов?

Иногда кажется, проще повторить все сначала, чем искать готовое решение прежних лет, основанное на опыте еще более древнем. Компьютер плюс численные методы в руках средней умелости заменяют пару кубометров логарифмических линеек эпохи раннего ракетостроения. Было бы что считать. Но нету — эксперименты дороги, наблюдения долги1, аналитические выводы спорны. Судя по срокам выполнения естественнонаучных и инженерных диссертаций компьютерного века, расчеты составляют доли процента от трудоемкости поиска исходных данных для них. А требуется «сразу и наверняка».

На этом месте мои мысли прервались марсианским пейзажем за окнами. Вид с железнодорожной насыпи на долину — монохромно-красные терриконы песчаника близ заброшенных рудников, бомжи-старатели на восходе солнца — порадовал бы даже голливудских декораторов. Красота на любителя, но меня она спасла — с криком «Эврика!» я скатился с полки и, вытаскивая мобильник, выскочил в коридор. Попутчик сонно поинтересовался оператором сотовой связи с обслуживанием посреди Сибири. Пришлось экспромтом выдумать латинское название — это было проще, чем признаться, что я «говорю» с диктофоном, спешно записывая тезисы нижеследующего материала.

К моменту набора надиктованного эмоций поубавилось — мое прозрение оказалось старой истиной: переработка «отвала» проще новых поисков и «добычи». Особенно в науке.

Найдите в библиотеке старые разработки с достаточным объемом достоверных экспериментальных данных (рис. 1) и просейте их через «микронно-гигагерцевое» сито компьютерных расчетов — пара унций «золотого песка» новизны обеспечена. Более того, при таком подходе на вашей стороне научная преюдиция — вы легко поднимаетесь выше гигантов отраслевой мысли, встав на их плечи.

Собственно, так я и сделал. Отчет послевоенных лет с подходящей темой нашелся на третий день библиотечного гостеприимства в усохшем провинциальном НИИ. Оставалось ввести в компьютер метры ксерокопии фотоленты электронно-лучевого осциллографа. Ввести, распознать и обработать методами, недоступными далекому пращуру-первопроходцу: численное интегрирование, 3D-Фурье и пресловутые вейвлеты ждали своего часа в коробке с MathCAD 11, любезно предоставленной компанией «СофтЛайн» (www.softline.ru) на пробу.

Я предполагал, что для распознавания отсканированных графиков как матрицы значений абсцисс-ординат существуют специальные векторизаторы. Однако обнаружить их в Интернете не удалось. Памятуя об инструментарии старателей-одиночек, я принялся оцифровывать графики самостоятельно.

Были использованы: сканер, штатный рисовальщик Paintbrush (имеется в установке Windows по умолчанию) и пробная версия MathCAD2 (www.mathsoft.com).

Сканируя осциллограммы в режиме 1 бит/пиксел (монохромный «Точечный рисунок BMP»), 300х300dpi, регуляторами контрастности и яркости следует добиться приемлемой четкости изображения. При наличии навыков работы в Photoshop полученный файл можно подредактировать на предмет ортогональности, повернув холст на пару-тройку градусов и устранив непараллельность осей на полдюжины пикселов3. Случайные разрывы отсканированной линии графика проще сразу соединить рисующим инструментом вручную, чем впоследствии устранять программно.

Сохраним итоговый файл в BMP-формате. Для последующей обработки в MathCAD за приемлемое время размер рисунков не должен превышать 1024х1024 пиксела.

В качестве объекта анализа я выбрал фотографию шлифа мраморного блока с прожилкой. Отмечу бескрайность этого непаханого поля природных «самографов»: миллионы трещин на асфальте и потолке, годовые кольца на спиле дерева4 и рыбьей чешуе, линии на ладони и морщины на челе ждут своей оцифровки и расшифровывания. Вот инструмент (рис. 2), откован в MathCAD.

Достаточно запустить файл MathCAD’а из той же папки, где расположен графический файл, как спустя мгновение-другое мы получим двустрочную матрицу L (рис. 3): нулевая строка — значение абсцисс, первая — ординат. Число столбцов матрицы соответствует горизонтальному размеру исходного рисунка в пикселах. Дальнейшая обработка полученного числового массива — дело вкуса и терпения.

Остается только удивляться маркетологам из ABBYY: надеюсь, в очередной версии FineReader мы увидим бесплатное приложение для распознавания графиков. Матанализ кардиограмм в архиве местной больницы, очень может быть, спасет нашу старость от инфаркта. Это куда важнее распределенных вычислений эха внеземной цивилизации.


1 (назад)А в ряде случаев неповторимы — сейсмология, например.
2 (назад) Подойдут версии 2001, 2001i или новая, 11-я. Соответствующие сервиспаки желательны.
3 (назад) Сканер, что ли, кривой сделали?
4 (назад) Природа использует полярные координаты. Вы знаете пример ортогональных?

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.