Пользователь
0,0
рейтинг
23 мая 2014 в 06:55

Разработка → Раздача научного софта. Бесплатно


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

Я бы хотел совершенно безвозмездно поделиться частью своих наработок (тем, что не очень стыдно показать) с хабрасообществом, в надежде, что они могут оказаться полезными для молодых (и не очень) ученых, аспирантов и студентов, и кто-то сможет использовать их в своей работе. Вашему вниманию предлагается следующее (в порядке возрастания специфичности):
  • SciRef — менеджер цитирований.
  • AFM Vision — удобная визуализация данных атомно-силовой микроскопии.
  • Raman 2D — построение карты распределения интенсивности Рамановского излучения.
  • X-Ray Calc — симуляция рентгеновской дифракции тонких пленок.

Подробное описание возможностей, скриншоты (много) и ссылки — под катом.

Менеджер цитирований SciRef


Это, пожалуй, наименее специфический софт из упомянутого выше, который может использоваться не только физиками, но и специалистами из других областей (биология, химия и т.д.). Желание сделать свой велосипед появилось как результат неудовлетворенности имевшимися в то время бесплатными и не очень приложениями — Zotero, Mendeley, EndNote — десятки их. Но в одних случаях останавливала цена, в других — недостатки интерфейса, в третьих — недостаток или, наоборот, избыток функций. На тот момент у меня уже был трехлетний опыт разработки MyHomeLib, поэтому было решено написать такой менеджер, который бы максимально устраивал меня по идеологии и функционалу. При этом интенсивно использовались интерфейсные наработки из MyHomeLib, что существенно ускорило процесс. Вот что получилось в результате:


Основные возможности:
  • Каталогизация ссылок (включая не только библиографическую информацию, но и файлы статей)
  • Поддержка самых ходовых форматов обмена библиографической информацией (RIS, ENW, NBIB)
  • Встроенный просмотр pdf и djvu
  • Интеграция с MS Word
  • Гибкая настройка стилей для списка цитат
  • Многоуровневая группировка статей
  • Локальный поиск по библиографическим данным
  • Возможность легко создавать бекапы данных

Чтобы это не выглядело как проделки маркетологов, я просто опишу использование SciRef при подготовке статьи.
Итак, пункт первый: формирование базы цитирований. Наиболее занудная часть, которая больше всего пугает новых пользователей подобного софта. Конечно, данные можно долго и нудно вводить руками, но к счастью, есть более простой метод. Сейчас у подавляющего большинства журналов можно скачать библиографическое описание статей в одном из упомянутых выше форматов. Поэтому алгоритм заполнения базы выглядит следующим образом: находим нужную статью на Google Scholar, переходим на сайт журнала, жмем «Download citation», открываем скачанный .ris файл в SciRef. Повторяем для всех нужных статей. На этом этапе имеет смысл создать в SciRef группу, и добавлять свежие ссылки туда. Это очень облегчает жизнь, когда количество статей в базе переваливает за сотню. Также на этом этапе можно добавить и текст статьи. SciRef умеет как «пристегивать» локальные файлы, так и скачивать их самостоятельно (в зависимости от издательства и наличия у вас доступа).

Вкладка «Группы»:



Пункт второй: Написание текста статьи и добавление в нее цитат. Тут все просто — пишем текст в MS Word, в нужный момент выделяем ссылку в SciRef, жмем кнопку «Добавить в MS Word». Ссылка вставляется как стандартный вордовский объект. Хинт: чтобы ссылка в документе выглядела красиво (это так: [1]), нужно в самом Word задать стиль ссылок IEEE 2006. Потом пишем дальше, вставляем ссылки и так до конца. При вставке нескольких ссылок подряд, они будут выглядеть так [1][2][3], пусть вас это не смущает, исправим это позже.
Преимущество использования стандартных ссылок Word состоит в том, что он сам позаботится о правильном порядке нумерации. Т.е. если возникнет необходимость поменять местами пару абзацев текста, или добавить ссылку в начале — не нужно беспокоится о правильной нумерации, все перестроится автоматически.


Пункт третий: Добавляем список цитирований в документ. Тут тоже все просто: переходим на последнюю страницу Word, потом возвращаемся в SciRef. Выбираем нужный стиль в зависимости от целевого журнала, и просто жмем «Insert bibliography». При необходимости, формат списка можно гибко настроить в менеджере стилей. Вот пример списка для Nano Letters:

(1) Penkov O.V.; Pukha V.E.; Devizenko A.Y.; Kim H.J.; Kim D.E. Nano Lett. 2014, 14, 2536–2540.

Ну и, наконец, Пункт третий: финальная обработка. Перед самой отправкой статьи в редакцию, нужно преобразовать вордовские объекты-ссылки в текст, заодно объединить последовательности [1][2][3] в более приятное редакторскому глазу [1–3]. Делается это одной командой — «Convert objects to text». Все готово.

Это далеко не все возможности SciRef, но самые основные. Остальное я постарался подробно изложить во встроенной справке.

Напоследок, важное замечание про «сколько это стоит». Программа распространяется как shareware с 60-дневным триалом. Но: SciRef совершенно бесплатна для пользователей ex-USSR. Если у вас в системе русская или украинская локаль- просто пользуйтесь и все. Если нет — напишите мне в ЛС, я пришлю ключик.
Прямая ссылка. (8 mb)

Теперь, коротко, об остальном.

AFM Vision



Небольшая утилитка для визуализации данных атомно-силовой микроскопии (AFM)/ Основная задача — подготовка 2D и 3D изображений, которые не стыдно вставить в статью. Заточена под форматы данных микроскопов Seiko (.iqt) и Park Systems (.txt). Но, помимо этого, поддерживает импорт из gray-scale bmp, что позволяет загрузить любые данные. В этом случае нужно будет только указать минимальный и максимальный уровень высоты.
Основная вкладка:

Можно поменять уровни, немного отфильтровать, посмотреть вертикальное и горизонтальное сечение (профиль) в любом месте. Профили можно сохранить в текстовом формате или скопировать в буфер.
Вкладка 3D:

Можно настроить палитру, масштаб, углы поворота (мышкой). Настройки можно сохранить в виде профиля для повторного использования.
Примеры использования: раз и два.
Прямая ссылка

Raman 2D



Недавно выяснилось, что крутейший Рамановский спектрометр (LabRam Aramis) умеет снимать карту распределения, но совершенно не умеет с ней работать! Т.е. оно просто сохраняет спектр для каждой точки в отдельный файл. И вместо картинки 15×15 мы получаем 225 текстовых файлов. Пришлось срочно изобретать еще один велосипед. Вот что получилось в итоге:

Работает просто — указываем папку с нашими данными, задаем маску имени файлов, жмем «Start import», получаем карту. Можно выбрать тип данных — интенсивность линий (интегральную или пиковую), либо соотношение интенсивностей (полезно для графена), построить карту смещения линий. Диапазоны настраиваются, так что можно использовать и для других элементов помимо углерода. Пример использования.
В архиве с программой есть две папки с примерами исходных данных, для «поиграться». Никакая активация и установка не нужны, просто распакуйте архив.
Прямая ссылка

X-Ray Calc



Наиболее специфическая программа из представленных. И самая любимая, потому как разрабатывается уже 15 лет (с перерывами). Предназначена для моделирования малоугловой рентгеновской дифракции. Реализован метод рекуррентных соотношений (Barbee T.W. Opt. Eng. 1986, 25, 899–915). Простейшее применение — определение толщины однослойных пленок с помощью рентгеновской дифракции. Поддерживает модели любой сложности, как периодические, так и апериодические, и их комбинации. Все эти годы интенсивно используется в Лаборатории рентгеновской оптики Харьковского политеха.

Позволяет одновременно отрисовывать неограниченное количество моделей и экспериментальных кривых. Основная фишка — удобный ручной подбор параметров теоретической модели под экспериментальные данные.

Примеры использования: раз и два.
Условия распространения — те же, что и у SciRef (т.е. бесплатно) + обязательная ссылка при публикации.
Прямая ссылка

Post Scriptum


Надеюсь, что что-то из выше перечисленного окажется полезным и я не зря написал эту простыню. Ссылки на сам сайт не даю, дабы не было рекламой.
Также просьба сообщать об опечатках в личку. Спасибо за внимание.
Алексей Пеньков @koreec
карма
48,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (36)

  • +26
    <offtopic>
    Бывает и такое
    </offtopic>
    • +2
      Вот чёрт! Пора пересмотреть.
  • +5
    А не думали исходники опубликовать?
    • 0
      Думал, но пока еще не определился.
  • +2
    Жаль, что только под винду.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Delphi.
        Насчет портирования не уверен, как с этим дело нынче обстоит. Но, думаю, должно нормально работать под Wine. По-крайней мере, MyHomeLib работает.
        • 0
          Есть Lazarus, который говорят очень не плох и Delphi совместим
          • +1
            Да, можно попробовать. Хотя предыдущий опыт с Лазаурусом, пару лет назад, был неудачным.
      • +1
        Вот тут намного уместнее, на мой взгляд, если софт реально того стоит, как минимум попытаться запустить на wine
        • 0
          Проблема в том, что SciRef завязан под офис, а я им уже 5 лет не пользуюсь для набора текста. Да и в научной среде он не распространён, только в странах СНГ.
          • +2
            И в Корее.
            • 0
              Ну в этом вопросе я полагаюсь на Вас :)
  • 0
    Я пользуюсь Zotero. Напишите, пожалуйста, чем он не удовлетворил и чем SciRef лучше?
    • 0
      Ой, с того момента уже два года прошло, так что я уже не помню подробностей. Кажется, смущало то, что в Zotero много завязано на их облако, а я предпочитаю полную автономность. Ну и фломастеры, на вкус и цвет, как известно, разные.
      Думаю, имеет смысл попробовать самому и решить — нравиться или нет.
    • 0
      На всякий случай, есть еще Mendeley
      • 0
        Zotero мне нравится больше. Хотя, сейчас тоже не помню чем :)
      • 0
        В Mendeley мне не нравится принцип организации интерфейса. К примеру, на 24" мониторе мне не нужна аннотация на пол-экрана, зато на это место замечательно вписывается просмотр pdf. И так во всем. Я не настаиваю, что что мой вариант интерфейса самый-самый, но он идеально подходит под мои требования.
        • –1
          Я, простите, не знаю, как у Вас, у меня на 24 дюймовом мониторе отлично всё просматривается, все доп поля спокойно убираются/разворачиваются и так далее, хоть как просто pdf читалку используй.

          Думаю, предложить профессору купить место на лабу за 10 баксов, хотя вся моя библиотека на 400 статей отлично уживается и на бесплатном месте, предоставленном by Mendeley.
          • 0
            Я никому свое мнение не навязываю (в отличие от). Нравится вам Менделей- ну и пользуйтесь на здоровье.
            • 0
              Да я, собственно, не собираюсь также никому ничего навязывать, просто не понимаю, в чём может быть проблема, так как они уже давно запилили передвижные поля для аннотаций и библиотеки — хошь шире, хошь уже…
              • 0
                Ваша проблема в том, что разводите банальный холивар на тему какие фломастеры вкуснее. Не знаю уж, по какой причине.
                А нет у меня никаких проблем — у меня уже есть софт, который а) делает ровно то, что мне нужно и так, как мне нужно и б) в любой момент может быть допилен, если что-то потребуется. Вот не далее как вчера я добавил еще пару полей в БД SciRef, потратив на это целых два часа.
  • 0
    В X-Ray Calc есть возможность автоматической подгонки расчёта под эксперимент?
    • 0
      Пока нет. Я практически реализовал генетический алгоритм, думаю, в обозримом будущем доведу до ума.
  • +1
    Программа для базы цитирований — хороша: не нужно лихорадочно по папкам искать нужную статью.
  • +5
    Автору хвала. Сам для научников написал только одну программу (https://gitlab.com/h4tr3d/crowns), причём сейчас с большим смущением смотрю в её код. Но работу делает. Правда (что знаю) пользуется только в двух местах: БПИ ДВО РАН и в заповеднике Бастак (Биробиджан). Исходники выложил под GPLv2.

    Вообще, наука, особенно не связанная с математикой, это непаханное поле для автоматизации. Вот где бы пришлись по месту силы разработчиков нового супер лайт браузера или очередного двухпанельного менеджера: и тяга к писательству и польза для общества, пусть и косвенная.
  • +1
    SciRef интересен, но лично мне не хватает следующего:
    1. нативной версии под Линукс, хотя, конечно, и с wine можно смириться
    2. возможности извлечения информации о статье по doi и/или pmid — копипастнуть одну строчку проще, чем загружать/читать файлы
    3. возможности извлечения информации из текста самой статьи, хотя бы просто по поиску в ней doi — можно было бы, как в Mendeley, вносить в базу статьи целыми директориями
    4. интеграции с tex/bibtex — всё-таки это стандарт в той области науки, где я работаю

    Возможно, что-то из этого присутствует, но просто не упомянуто в описании, тогда прошу прощения. Саму программу потестить не могу за отсутствием под рукой windows.
  • +1
    Для удобной работы с библиографией под убунту использую kbibtex.
  • +1
    WTF?

    • 0
      cloudflare.com потому что
      забанено властями
    • +1
      Ага, блокировка CloudFlare.
      Добавьте direct. в начале URL.
  • +1
    IMHO, есть Mendeley для цитировния (люди на него пересаживаются даже после Papers в MacOS), Gwyddion для обработки AFM и, пожалуй, под 2D Раман тоже сгодится…
    • 0
      Про Gwyddion я в курсе. Оно хорош для сложных задач. А вот подготовить в нем 10 однотипных картинок для презентации — запаришься. Не понравилось, в общем.
      Помимо функционала как такового, для меня важно, что бы рутинные процедуры делались максимально быстро, поэтому весь мой софт заточен именно под это.
      • –1
        Ну тут каждому своё, по мне так Gwyddion — супер программка, каких-то конкретных запарок с рутиной я в нём не жалечал, но это всё ИМХО…
        • 0
          Просто, у каждого свое представление о прекрасном.
    • +1
      Про Mendeley ответил выше.
      Вообще, давно заметил, что когда прикладной софт пишут программисты, которые никогда им сами не пользуются — результат, в плане юзабилити, получается плачевный. И чем более специализированный софт — тем больше грабли.
      Вот пример: родной софт AFM Seiko. Да, он красиво рисует 3D. Который потом нигде нельзя использовать, ибо 1) картинка на черном фонe (попробуйте в журнал такую отправить, ага; 2) Невозможно просто размер шрифта для подписей поменять. В итоге приходилось долго и нудно это все в фотошопе перерисовывать.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.