2 заметки с тегом

коллекция паразитов

Используем цвет для обозначения названий таксонов

Про оформление списка таксонов в Электронной коллекции морских паразитов и Альгабейзе

В электронной коллекции морских паразитов я использую несколько фишек для обозначения состояния таксономических названий:

  • Названия родов и видов начертаны курсивов, а имена авторов прямым шрифтом — этого требуют правила оформления таксономических имен.
  • Валидные (действующие) названия таксонов покрашены в синий цвет, а синонимы — в серый, чтобы сразу было видно статус таксона.
  • За синонимом → идет действущее название, чтобы было понятно, чей это синоним.
  • Таксоны, которые оцифрованы и помещены в электронную коллекцию, помечены фоновым цветом.
  • Слева от названия стоит цветной индикатор, который показывает, есть ли у таксона картинки (красный квадратик) и описание (желтый).

На разнообразных сайтах с таксономическими названиями такие приемы ранее никто не использовал. Наш сайт стал первым.

***

Намедни открыл страницу Альгабейз, а там — невалидные таксоны выкрашены серым валидные таксоны выкрашены в синий.

Мне аж приятно стало — идею подхватили коллеги по ремеслу. Еще в 2017 Альгабейз красила все в синий серый, и валидные названия не отличались от синонимов.

Ждем продолжения от ВОРМСа и Энциклопедии жизни.

Вырезаем растровую графику из СВГ

Столкнулся с задачей.

Есть фотография большого размера (более 4 тыс. пикселей по ширине), на которой запечатлены части живых организмов.

Большая фотография с прикрепительными структурами плоского паразитического червя

Организмы — это паразиты. Мизерные примитивные червячки из класса Моногеней, живущие на жабрах рыб. К жабрам они крепятся при помощи крючков.

Рисунок головы кефали из работы Световидова (1964); рисунок жабр и сидящего на них паразита из работы Лопеса-Беленгуэра с сотоварищами (2015)

Разные виды червячков внешне очень похожи. Они отличаются только формой прикрепительных крючков. У каждого таксономического рода уникальная форма крючков, но среди видов одного рода различия форм не столь очевидны. Чтобы их обнаружить, надо использовать методы морфометрического анализа.

Метод главных компонент описывает разнообразие форм прикрепительных крючков разных родов моногеней. График из статьи Вигнона (2011)

Для выполнения морфометрического анализа мы оцифровываем форму крючков. Загружаем фотографию в Инскейп, обводим кривыми и сохраняем результат в СВГ.

Проблема в том, что готовый файл слишком много «весит». Исходный джипег размером 800 Кб, после обводки и сохранения в СВГ, толстеет до 12 Мб. В результате мне присылают мегатонные свгешки с внедренной графикой, которые надо разместить на сервере, а он не резиновый.

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

Я несколько часов пытался уменьшить размер свг-файла с графикой без потери качества. Попробовал уменьшить в Инскейпе, не получилось — размеры фотографии и свг-файла остались огромными. Потом разобрался с форматом и нашел решение.

Формат СВГ поддерживает два способа хранения изображений.

Первый, когда графический файл внедрен в СВГ. Это не оптимальный способ, потому что файл не сжат. Изображение состоит из последовательности символов в позиционной системе счисления с основанием 64 (base64). Отсюда 800 Кб превращаются в 12 Мб.

Фотография, внедренная внутрь свг-файла, занимает очень много места

Второй, когда СВГ хранит ссылку на внешний графический файл. Тогда СВГ содержит только описание кривых, а фотография хранится отдельно. Размер свг-файла становится маленьким.

Отделил «мух» от «котлет»

Второй вариант подошел.

Если бы файлов было мало, я бы все переконвертировал вручную. Но файлов много — несколько сотен.

В результате написал скрипт на ПХП. Он извлекает из СВГ фотографию, сохраняет ее в виде отдельного джипега и вставляет в СВГ ссылку на этот джипег. Джипег хранится локально и называется так же, как и свг-файл.

Скрипт умный. Если в разных файлах используется одна и та же фотография, скрипт сохранит ее всего один раз и во всех файлах будет правильно на нее ссылаться. Это экономит место.

Скрипт для всех.

Эта заметка описывает этап создания виртуальной коллекции паразитов рыб Мирового океана

 66   2017   виртуальная коллекция   коллекция паразитов   ПХП   СВГ