Вашему вниманию предлагается небольшая заметка, посвящённая особенностям хранения одноканальных (серых) 16 бит изображений (как беззнаковых, так и знаковых) в PNG формате. В некоторых случаях интенсивности пикселей, получаемые из такого файла могут не соответствовать изначальным интенсивностям, под катом мы заглянем во внутренности PNG файла и разберёмся, почему так происходит.
LabVIEW *
Среда разработки и платформа
Новости
О хранении изображений в памяти с выравниванием
В разговорах с коллегами, а также по отдельным постам на форумах я заметил, что даже относительно опытные разработчики порой не достаточно глубоко понимают особенности хранения изображений в памяти. Если вы знаете, что такое выравнивание на границу 64-x байт, а также термины типа «длина или шаг строки (LineWidth/StepWidth, Stride)», «зазоры выравнивания (Alignment Gaps)», кроме того в курсе размеров линий кэша и страниц памяти на вашем компьютере, то вам, вероятно, не будет интересно, а остальные, особенно те, кто интересуется обработкой изображений — могут ознакомиться с предлагаемым материалом, и, возможно найдут для себя что-то новое и полезное. Под катом будет немножко кода на Си и ассемблере, пара LabVIEW скриншотов, предполагается также, что у читателя есть базовые знания OpenCV. Для экспериментов понадобится компьютер с камушком, поддерживающим AVX2.
Считаем медиану быстрее numpy
Нетрадиционный способ вычисления медианы массива значений с плавающей точкой при помощи нескольких проходов по исходному массиву по словам, начиная с более значащих, с использованием целочисленной арифметики, что даёт возможность в некоторых случаях несколько обогнать по скорости "традиционные" классические алгоритмы.
Измерение диэлектрической проницаемости подложек
Существует постоянная потребность в точном измерении магнитных и диэлектрических свойств твердых материалов. Разработано множество методов измерения диэлектрической проницаемости. Эти методы включают методы свободного пространства, методы коаксиального зонда с открытым концом, объемные резонаторы и другие. Одним из популярных является волноводный метод, в котором внутри волновода помещается образец материала, измеряются S-параметры, а затем обрабатываются результаты по различным алгоритмам.
Цель статья состоит в том, чтобы рассмотреть и оценить три различных метода определения диэлектрической проницаемости на микрополосковых линиях.
Истории
LabView: былое и думы
Как полагается, сначала отмазка: все совпадения случайны и ни одно животное не пострадало.
Больше 20 лет назад я попал в Финляндию. Случилось это почти как по приколу.
Жил я, переезжая из одного городка в другой, около Иркутска. В 90-е работы по специальности не было. Ходили слухи, что в Москве и Питере работу можно было найти, но переехать туда реальным не выглядело — прописку никто не отменял, проблем для переезда с семьей было выше крыши.
Простой Web-доступ к VI приложениям LabVIEW в PHP через ActiveX Server
LabVIEW NXG 5.0 — Основы и Блок-Диаграмма
Это первая статья из небольшого цикла о графическом языке программирования G, который используется в LabVIEW. Язык этот пока не очень популярен — по индексу TIOBE на май 2020 года LabVIEW находится на сороковом месте аккурат между Julia и Haskell. Выпуск LabVIEW Community Edition даёт возможность значительно расширить аудиторию пользователей (раньше можно было пользоваться только триальной версией, а по истечении 45-и дней учиться "вприглядку").
Что ж, как говорили великие Керниган и Ритчи — "единственный способ научиться новому языку программирования — это начать на нём программировать". Этим и займёмся.
В первой части мы разберём основные элементы среды разработки, и нарисуем на блок-диаграмме наш первый "Hello, World!"
Статья-туториал рассчитана на тех, кто видит LabVIEW впервые. Под катом полсотни картинок примерно на семь мегабайт.
Установка и активация LabVIEW Community Edition
После публикации анонса о выпуске "Community Edition" версий LabVIEW в комментариях и на форумах были замечены отчёты о неудачной активации этих продуктов. Система активации в чём-то отдалённо похожа на Visual Studio Community, но есть тонкости, о которых и хотелось бы рассказать.
Вкратце — основная проблема заключается в том, что если создать аккаунт после скачивания и установки (причём там есть опция прямо в инсталляторе), то активация завершается неудачно, поскольку лицензия в этот момент отсутствует.
Ниже будет дано полное пошаговое описание процесса инсталляции и активации LabVIEW Community Edition — примерно полсотни скриншотов.
Компания National Instruments выпустила бесплатные LabVIEW 2020 и NXG 5.0 Community Edition
В конце апреля произошло событие, которого так ждали поклонники рисования кода мышкой: компания National Instruments наконец-то выпустила бесплатную редакцию своей системы графического программирования — LabVIEW Community Edition.
Название перекликается с Visual Studio Community, но в отличие от Студии среда разработки LabVIEW абсолютно бесплатна лишь для некоммерческих проектов, и для обучения в школах (для ВУЗов потребуется Academic Site License).
Ну а теперь все желающие могут приобщиться к увлекательному миру графического программирования, скачать LabVIEW и играть с ней так долго, насколько хватит желания (и терпения).
Пишем загрузчик ПЛИС в LabVIEW. Часть 2
Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE
Пишем загрузчик ПЛИС в LabVIEW. Часть 1
В первой статье мы обкатали алгоритм загрузки на старом добром Си, во второй статье разобрались, как в LabVIEW можно организовать программу и реализовать простой интерфейс пользователя. В этот раз мы познакомимся с новыми приемами работы в LabVIEW, разберем особенности обработки ошибок и завершим проект: реализуем протокол загрузки файла конфигурации в ПЛИС.
Пишем загрузчик ПЛИС в LabVIEW. Часть 1
У большинства "нормальных" программистов, мягко говоря, неоднозначное отношение к технологии LabVIEW. Тут спорить можно долго и безрезультатно. Ситуацию усугубляет то, что в сети масса примеров программ на LabVIEW, но все они ориентированы на новичка и сводятся к "ой, смотрите как все просто, соединил крутилку с индикатором, кручу ручку, меняется циферка", или в лучшем случае на график в цикле выводится случайное число или синус, все это сопровождается зубодробительным интерфейсом в виде гигантских тумблеров, крутилок и стрелочных индикаторов. Лично меня такой подход сознательного упрощения раздражает. В небольшом цикле статей я постараюсь познакомить читателя с процессом разработки прикладного ПО на LabVIEW. Для того, чтобы не уделять много времени предметной области, воспользуемся подробно описанным алгоритмом загрузки файла конфигурации в ПЛИС через FTDI в режиме MPSSE (Загрузка конфигурации в ПЛИС через USB или разбираем FTDI MPSSE). В этой статье я покажу как реализовать такой же загрузчик ПЛИС, но на языке LabVIEW.
Система компенсации погрешности установки оптоволокна при его обработке лазерным излучением в процессе вращения
Раздел 1. Актуальность
В настоящее время эндовазальная лазерная коагуляция варикозных вен (ЭВЛК) является современным и эффективным методом лечения варикоза. В состав медицинских приборов для лазерной коагуляции варикозных вен входит волоконный инструмент (световод) с радиальным выходом излучения (рис 1), через который излучение непосредственно воздействует на биоткань. От конфигурации и качества обработки этого инструмента зависит эффективность и безопасность лечения.
Рис.1 Возможный рельеф световодного волокна: а) – модель заготовки, б) увеличенное изображение обработанной заготовки
Программирование микрокомпьютера LEGO NXT Mindstorms 2.0. Введение
Ближайшие события
Исправляем Alt-Tab в LabView
Мало того, что LabView сдвигает все свои окна в начало Alt-Tab списка (больше так не делает никто: en.wikipedia.org/wiki/Alt-Tab), так еще, несмотря на активно используемую возможность переопределять иконки для vi файлов, в списке Alt-Tab вместо них – стройные ряды из логотипов LabView:
Некоторых такое поведение подталкивает к покупке второго монитора. Для них в значительной степени проблема этим и решается. Еще частично помогает интерфейс Windows Aero с его миниатюрами в меню Alt-Tab. Но вроде бы лежащее на поверхности решение – (а) сделать переключение такое же, как во всех остальных приложениях, и (б) выводить в списке иконки vi – стандартными средствами недостижимо.
Судя по тому, что началось это едва ли не с самой первой версии, а соответствующая «идея по улучшению» пылится на «форуме по обмену идеями» с 2010 года forums.ni.com/t5/LabVIEW-Idea-Exchange/Make-Alt-Tab-behaviour-consistent-with-other-applications/idi-p/1162219, просить об этом National Instruments бесполезно. Однако кое-что сделать всё-таки можно.
Олимпиада по программированию в LabVIEW. Решение команды-победительницы
ПЛК100 + LabVIEW + джойстик
Термокоса под управлением Arduino и LabVIEW
Я работаю в Институте общей физики РАН. Профиль нашей лаборатории — лазерное дистанционное зондирование, конкретно — лидары. Если вы не знаете, что это за звери, можно прочесть, к примеру, в википедии. Лидары иногда ещё называют лазерными радарами. Принципиальное отличие и преимущество лидара в том, что с его помощью можно не только измерять расстояние до объекта зондирования по задержке обратного сигнала, но и получать (по спектру сигнала) информацию о составе и свойствах объекта. К примеру, существуют методы лидарного определения температурного профиля воды по глубине в водоёмах.
Бесконтактные измерения полезны лишь настолько, насколько точны, поэтому для калибровки результатов дистанционных измерений контактными было решено изготовить термокосу — шлейф из нескольких термодатчиков на одной линии.
Обзор некоторых виртуальных приборов среды LabVIEW в помощь разработчику (+ исходники)
Добрый день, всем!
За последние годы работы в среде LabVIEW приходилось иметь дело с разными задачами, решение которых вытекало в создание простых и не очень простых виртуальных приборов(ВП). Специализация моей работы – это проектирование различных алгоритмов для анализа биомедицинских сигналов. И как у любого разработчика за несколько лет у меня накопилось большое количество кода разной сложности. Для всех виртуальных приборов, которые по той или иной причине мне жалко было удалять, я создал папку, куда и сохранял все. В данной статье мне хотелось бы привести некоторую выборки из моего LabVIEW-портфолио.
Выборка имеет достаточно эклектичный характер, и многие приборы опытные разработчики могут воспроизвести сами за несколько минут. Поэтому, полагаю данная статья может пригодится в основном для начинающих LabVIEW-разработчиков. Большинство представленного кода можно так или иначе найти на LabVIEW – форумах или в экземплах среды. Исходники прилагаю в конце статьи (версия 9.0).
В начале хотелось бы привести пару ВП, которые относятся к разряду очень простых, но возможно кому-то необходимых.
Расширение возможностей стандартных робототехнических конструкторов с использованием LabView
И снова здравствуйте, уважаемые хабравчане! Вы собрали уже все возможные модели из вашего конструктора? Вам надоело «ездить по линии», «управлять с пульта» и «определять расстояние до объекта»? Вы уже забыли, когда последний раз доставали ваш конструктор с дальней полки? Пора смахнуть с него пыль и вдохнуть в него новую жизнь! Как это сделать? Читаем под катом!
Вклад авторов
-
AndreyDmitriev 315.5 -
DustyZebra 59.0 -
Axelis 40.0 -
Kvanto25 39.0 -
RF_Pavel 36.0 -
Shamrel 34.0 -
existentiary 24.0 -
MiGr 22.0 -
alfatapok 17.0 -
Chupakabra303 12.0