Светлой памяти В.Г. Кориневского

Наука — это любая дисциплина, в которой дураки одного поколения могут пойти дальше той точки, которой достигли гении предыдущего поколения.

Макс Глюксманн

Статьи

Как самостоятельно создавать загружаемые диаграммы

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


Для этого была модифицирована утилита
Построителя произвольных диаграмм и создана новая утилита - PetroGrapher, которые позволяют загрузить в качестве фона для поля диаграмм рисунок из графического файла формата .bmp. Разница между этими двумя утилитами только в том, что в первой из них источником данных для диаграмм является база данных, а во второй - Таблица данных, в которую могут быть вставлены любые значения, в том числе и те, которые в базе данных не присутствуют. Одновременно с загрузкой графической подложки программой выполняется считывание параметров загружаемой диаграммы из специального текстового файла опций, имеющего то же имя, что и графический файл. В этом файле определены такие параметры диаграммы, как ее тип (треугольная или двумерная), цветность (цветная или черно-белая), название диаграммы и ее подпись, подписи осей/вершин, минимумы и максимумы значений по каждой оси, цена делений каждой оси и процент масштабирования по одной из вершин треугольной диаграммы. Для создания и редактирования текстового файла опций была создана еще одна утилита - Редактор опций загружаемых диаграмм. Подробное описание каждой из этих утилит находятся в соответствующих разделах данного руководства. Таким образом, каждая загружаемая диаграмма состоит фактически из двух файлов - графического файла с расширением .bmp, в котором содержится графическая подложка и одноименного текстового файла с расширением .txt, в котором содержатся параметры диаграммы. Собственно, классификационные диаграммы, вызываемые из Расчетных модулей, которые так понравились пользователям, также загружают графические подложки из bmp-файлов, хранящихся в папке images в установочной директории программы, а вот параметры этих диаграмм содержатся внутри кода и их редакция со стороны пользователей невозможна. Теперь эта несправедливость устранена и пользователи получили возможность самостоятельно создавать загружаемые двумерные и треугольные диаграммы.

Как же это работает практически? Разберем на конкретном примере.

Допустим, нам необходимо сделать загружаемую диаграмму из рисунка распределения метаморфических фаций в зависимости от температуры и давления (по Yardley, 1991), сосканированную из книги Е.В.Склярова, Д.П.Гладкочуб и др. "МЕТАМОРФИЗМ И ТЕКТОНИКА".

 

 

Как видно из рисунка, по сути - это двумерная классификационная диаграмма, по оси X которой откладывается температура в градусах Цельсия, а по оси Y давление в килобарах. Минимум значений по оси X - 100, максимум - 1000 градусов. Цена деления - 100 градусов. Минимум значений по оси Y - 0, максимум - 17 килобар, цена деления - 2 килобара.
Для того, чтобы создать графическую подложку для будущей загружаемой диаграммы нам необходим шаблон. В этом качестве будет выступать графический файл пустой двумерной диаграммы, созданный в программе PetroExplorer. Запускаем утилиту
PetroGrapher (Построитель произвольных диаграмм для этого не подходит, т.к. привязан к базе данных, а в ней параметров температуры и давления нет), выбираем двумерную диаграмму, включаем панель Масштабирования, устанавливаем минимальные и максимальные значения а также цену делений по каждой оси в соответствии с исходным рисунком, жмем на кнопку Построить диаграммму и строим пустую двумерную диаграмму.

 

Далее с помощью кнопки Сохранить в файл сохраняем эту диаграмму в файл template.jpg. Все, файл шаблона у нас теперь есть. Далее открываем оба файла - файл исходного рисунка и файл шаблона в великой программе Adobe Photoshop и приступаем к непосредственному созданию графической подложки будущей диаграммы.
Для начала отредактируем размеры и разрешение исходного файла в соответствии с файлом шаблона (размер 420 на 416 пикселей, разрешение 96 пикселей/дюйм). Затем переходим к файлу шаблона. Выделим с помощью инструмента "Волшебная палочка" черные оси координат с делениями и скопируем их на новый прозрачный слой, который назовем "Оси". Затем создадим еще один новый прозрачный слой, на котором будем рисовать новую подложку. Так и назовем его: "Новая подложка". Теперь вернемся к исходному фалу. Поскольку нас интересует только координатная плоскость с контурами полей фаций, выделим прямоугольным выделением только ее, поскольку подписи осей и делений будут генерироваться программой, а расшифровка сокращений будет содержаться в информационной подписи диаграммы. Затем перетащим выделенную область на файл шаблона. Она появится там как новый слой, который мы для ясности назовем "Подложка". Разместим этот слой в списке слоев между Фоном и слоем "Оси".

 

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

 

После того, как совмещение делений достигнуто, можно приступать к отрисовке полей фаций на прозрачном слое "Новая подложка". Тут уж кому как нравится. Можно обводить контуры полей, можно выделять области по цвету на исходном слое, а затем заливать выделения нужным цветом на слое новой подложки и т.п. - все зависит от сложности исходного рисунка. В данном случае я просто выделил по цвету на исходном слое серую область переходных ассоциаций, закрасив предварительно надпись, затем залил выделение голубым цветом на слое новой подложки, обвел выделение черным контуром, а затем подтер эти контуры в нужных местах.

 

 

Дальше - все просто. Дублируем подписи полей фаций и шкалу приблизительной глубины, находящейся справа (она не будет строиться программой). После этого слои "Подложка" и "Оси" больше не нужны и их можно удалить. Фон очищаем и заливаем белым цветом, после чего выполняем сведение слоев. Все, графическая подложка для будущей загружаемой диаграммы готова.

 

Сохраним ее, как файл m-facies.bmp. Перед сохранением, убедитесь, что режим файла - RGB, а не индексированные цвета. Индексированные bmp-файлы PetroExplorer не загружает. Для создания черно-белого варианта этой диаграммы (они часто бывают нужны при подготовке статей к печати, далеко не всегда издательства принимают цветные рисунки), просто переведите этот файл в черно-белый режим, чтобы убрать информацию о цвете, а затем снова верните в режим RGB. При сохранении черно-белых файлов я обычно использую то же название, что и у цветных, только с добавлением индекса "_b": m-facies_b.bmp.

Теперь настал черед создать файл опций новой диаграммы. Запускаем утилиту Редактор опций загружаемых диаграмм. С помощью переключателей определяем тип диаграммы (двумерная) и ее цветность (цветная). В текстовые поля вносим информацию о названии диаграммы, ее подписи, подписях осей, а также минимумы и максимумы значений и цену деления каждой оси. После этого нажимаем кнопку Создать, для получения результирующей строки (она появится в текстовом поле Результат), а затем сохраняем файл опций (кнопка Сохранить) под тем же именем и в той же папке, что и графический фал: m-facies.txt. Если вы подготовили и черно-белый вариант графической подложки, то, не закрывая редактор, можно тут же переключить цветность диаграммы на "черно-белая", снова создать результирующую строку и сохранить файл под именем m-facies_b.txt.

 

 

Все, загружаемая диаграмма создана! Теперь пора испробовать ее в работе. Снова запускаем утилиту PetroGrapher (Построитель произвольных диаграмм с этой диаграммой работать не сможет, поскольку переменные температуры и давления в базе данных не определены) и нажимаем на кнопку Загрузить диаграмму. В открывшемся диалоговом окне выбираем наш файл m-facies.bmp и жмем на кнопку Открыть. Если все нормально, то в строке загрузки появится имя нашего файла, а параметры масштабирования и поля заголовка и подписи диаграммы примут заданные значения. Если файл опций отсутствует в этой директории, программа сообщит об этом. Если bmp-файл будет индексированным, то возникнет сообщение об ошибке и загрузка не произойдет. Другие варианты осложнений при загрузке мне пока не встречались. Если все нормально и загрузка прошла удачно, то можно добавить в Таблицу данных свои данные, скопировав их, например, из Excel-таблицы.

 

После этого останется лишь выбрать в Таблице данных нужные точки, с помощью чек-боксов в поле Select определить маркер и нажать на кнопку Построить диаграмму. Результат должен выглядеть примерно так:

 

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

Поскольку утилита
PetroGrapher не привязана к базе данных в качестве источника данных для диаграмм и в принципе может работать с любыми данными, то мне показалось, что данная утилита может оказаться полезной не только геохимикам, минералогам и петрологам, но и всем другим специалистам различных областей знаний, использующим в своей работе двумерные и треугольные диаграммы. Но для ее использования им совершенно необязательно скачивать и устанавливать у себя геохимическую программу PetroExplorer, потому что утилита PetroGrapher, как и Редактор опций загружаемых диаграмм теперь доступны в качестве отдельных приложений. Исполняемые файлы этих утилит можно скачать в разделе Download, как и примеры готовых загружаемых диаграмм.