Pull to refresh
0
0
Дмитрий @necros

User

Send message

DICOM Viewer изнутри. Воксельный рендер

Reading time9 min
Views93K
Добрый день, уважаемое хабра-сообщество!

Сегодня мне бы хотелось пролить свет на одну из самых неосвещённых тематик на хабре. Речь пойдёт о визуализаторе медицинских радиологических изображений или DICOM Viewer'е. Планируется написать несколько статей, в которых поговорим об основных возможностях DICOM Viewer'а — в том числе возможности воксельного рендера, 3D, 4D, рассмотрим его устройство, поддержку протокола DICOM и др. В этой статье я расскажу о воксельном рендере и его устройстве. Всем заинтересовавшимся добро пожаловать под кат.


Читать дальше →
Total votes 58: ↑56 and ↓2+54
Comments75

STM32 и FreeRTOS. 4. Шаг в сторону HAL

Reading time5 min
Views83K
HAL 9000: I'm completely operational, and all my circuits are functioning perfectly.
или это должно быть первой статьей, но я почему-то всегда пишу подобное ближе к концу

Раньше было про потоки, про семафоры и очереди

Одним из основных препятствий для перехода на STM32 является обилие текстов, инструкций и мануалов, описывающих работу с контроллером. Виновником этого обилия стала сама STMicroelectronics, которая поначалу планомерно запутывала своих пользователей, а затем предлагала неверные варианты выхода.

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

Но не так давно ST поняла, в какую яму она угодила и начала усиленно из нее выбираться, привлекая новые силы. И именно благодаря этому сейчас время старта сократилось до несуразно маленьких величин. Как это выглядит на практике? Добро пожаловать под кат.
Читать дальше →
Total votes 22: ↑21 and ↓1+20
Comments18

STM32 и FreeRTOS. 3. Встаем в очередь

Reading time6 min
Views55K
Раньше: про потоки и про семафоры

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

Возьмем наиболее яркий и богатый проблемами пример, на котором «валятся» большинство неопытных программистов. Есть мощный и достаточно быстрый микроконтроллер. К нему подключен с одной стороны адаптер com-порта, через который пользователь подает команды и получает результаты, а с другой — шаговый двигатель, который согласно этим командам поворачивается на какой-то угол. И конечно же, прикольная кнопочка, которая тоже что-то этакое значит для пользователя. Где можно наловить проблем?
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments7

STM32 и FreeRTOS. 2. Семафорим по-черному

Reading time7 min
Views65K
Часть первая, про потоки

В реальной жизни часто случается так, что некоторые события происходят с разной переодичностью (а могут и вообще не происходить). Скажем, заказ сока в «Макдональдсе», нажатие кнопки пользователем или заказ лыж в прокате. А наш могучий микроконтроллер должен все это обрабатывать. Но как это сделать наиболее удобно?

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments5

STM32 и FreeRTOS. 1. Развлечение с потоками

Reading time7 min
Views150K
Данный цикл из 5 статей рассчитан на тех, кому стало мало возможностей привычных «тинек» и ардуинок, но все попытки перейти на более мощные контроллеры оканчивались неудачей или не приносили столько удовольствия, сколько могли бы. Все ниженаписанное проговаривалось мной много раз на «ликбезе» программистов нашей студии (которые часто сознавались, что переход с «тинек» на «стмки» открывает столько возможностей, что попадаешь в ступор, не зная за что хвататься), поэтому смею надеяться, что польза будет всем. При прочтении подразумевается, что читающий — человек любопытный и сам смог найти и поставить Keil, STM32Cube и понажимать кнопки «ОК». Для практики я использую оценочную плату STM32F3DISCOVERY, ибо она дешевая, на ней стоит мощный процессор и есть куча светодиодиков.

Каждая статья рассчитана на «повторение» и «осмысление» где-то на один околовечерний час, ибо дом, семья или отдых…



Читать дальше →
Total votes 41: ↑40 and ↓1+39
Comments35

Ближайшее будущее аккумуляторных батарей

Reading time33 min
Views107K
В последние годы все острее встает вопрос усовершенствования мобильных источников энергии — вопрос как глобальный, так и повседневный. Глобальная сторона заключается в том, что человечество, остро нуждаясь в энергии в любой её форме, выбрало в качестве свободноконвертируемой электрическую. Причина – относительно низкие потери при обратном переводе из электрической в любую другую, а так же низкие потери при передаче от точки выработки (электростанция) до стационарной точки потребления (э/розетка). Основным источником электроэнергии на сегодняшний день является сжигание на ТЭС невозобновляемого углеводородного топлива, которого с каждым годом все меньше, а цена всё выше. Основной вред окружающей среде наносят тем не менее не ТЭС, а двигатели внутреннего сгорания автомобилей, в виду компактности не столь эффективные и оснащенные не столь же хорошими системами очистки.
Все говорит, что работай автомобили на электротяге, наш мир стал бы намного чище, а жизнь со временем даже дешевле

Но вряд ли многие из нас, не считая борцов за зеленый мир, и даже считая оных, думают об этом каждый день. Гораздо чаще мы вспоминаем недобрым словом какой-нибудь значок на дисплее нашего ноутбука или телефона, увидев что пользоваться им осталось минут 20. И вопрошаем:”Ну когда же они сделают нормальную батарейку, а?”.
Читать дальше →
Total votes 269: ↑249 and ↓20+229
Comments141

Краткий экскурс в методы 3D-печати

Reading time6 min
Views51K

Мои предыдущие посты по теме:
Первое мероприятие по 3D-печати в Нидерландах
Мероприятие по 3D-печати (окончание)
Новый бюджетный 3D-принтер
Чтобы ответить на часто задаваемые вопросы я опишу тут популярные технологии 3D-печати — печать расплавленным пластиком, порошком, фотополимером, лазерное спекание. Разумеется эта информация не является истиной в последней инстанции. Это картина, которая сложилась у меня на сегодня в голове из разных источников.
Читать дальше →
Total votes 107: ↑104 and ↓3+101
Comments48

KinectFusion — построение 3D сцены в реальном времени

Reading time2 min
Views11K


Microsoft Research на SIGGRAPH продемонстировал очень интересную разработку — KinectFusion. Софт позволяет в _реальном_ времени восстанавливать 3D сцену на основе данных с Kinect-а, а также выполнять сегментацию и трекинг объектов.

Технология впечатлила, думаю, что теперь становятся реальными игры, в которые можно будет передавать предметы и окружение из реальности. Кстати можно ведь и наоборот, сейчас наблюдается бум развития технологии 3D печати, вполне возможно, что скоро это будет доступно. Имея такое доступное сканирование и печать, получаем возможность электронной передачи реальных объектов. Но это конечно только один из вариантов использования.

Под катом небольшой разбор видео:
  • Построение 3D модели (треугольной сетки)
  • Текстурирование модели
  • Дополненная реальность – бросаем шарики в сцену
  • Дополненная реальность – бросаем шарики в сцену, сцена изменяемая
  • Сегментация – веделяется предмет, который убираем
  • Трекинг – отслеживаем выделенный объект
  • Сегментация и трекинг – рисуем пальцами на предметах

Читать дальше →
Total votes 67: ↑64 and ↓3+61
Comments46

Мышление и принцип «сумасшедшего программиста»

Reading time7 min
Views9.3K
Попробую нарушить последовательность повествования, которую планировал изначально. После описания «Эмоционального компьютера» я хотел написать об устройстве ассоциативной памяти, но по комментариям я так понимаю, что читатели уже устали от скучных лекций и ждут экшена.

Сначала расскажу историю. Был у меня приятель, талантливый программист.
Читать дальше →
Total votes 74: ↑56 and ↓18+38
Comments123

Chatroulette своими руками — 50 строк кода

Reading time1 min
Views28K
image
Пару месяцев назад я приглашал всех на веб-семинар о p2p во Flash, но сделал это слишком поздно, поэтому наверняка большое количество желающих на него не попало. Самое ценное, что я извлек из этого семинара — то, что peer-to-peer приложения во Flash делать очень легко. Правда у самого руки очень долго до этого не доходили.

Но буквально вчера руки очень сильно зачесались, и посидев ночку я разобрался в том, как работает технология p2p во Flash. Соединить видеопотоки двух flash-клиентов мне показалось мало, поэтому решил сделать что-то более интересное:
  1. Пользователь открывает страничку
  2. Выбирает тему для разговора (один из постов на главной хабры)
  3. Разговаривает со всеми, кто выбрал эту же тему

Сделал. Тут мой пример видеоконференции, исходники клиента и сервера можно скачать отсюда. Минимальные требования для примера — наличие Flash Player 10 и вэб-камеры.

UPD: Все это добро хостится на AppEngine, могут закончиться бесплатные квоты и все перестанет работать. Перекинул клиента на narod.ru. Если работать не будет — заходите сюда
Total votes 78: ↑72 and ↓6+66
Comments59

SICP теперь по-русски

Reading time1 min
Views63K
image

Удивительно, что до сих пор никому еще не пришла в голову идея перевести эти легендарные лекции на русский язык.

В качестве эксперимента выкладываю перевод первой из 20 лекций. Если это получит должный отклик, буду переводить дальше.
Читать дальше →
Total votes 97: ↑92 and ↓5+87
Comments61

Поднять уровень английского легко!

Reading time1 min
Views15K
Чувак отлично рассказывает и подробно показывает.
Например, за 1 минуту можно выучить 50 тысяч английских слов, не верите?

В русском языке существует около 50 тысяч слов оканчивающихся на «ция» и «сия».
Так вот, почти все слова оканчивающиеся на «ция» имею окончание tion, а на «сия» — sion.
Т.е. из слова вы подставляется все до окончания «ция», «сия».
Модернизация — Modernization
Делегация — Delegation
Корпорация — Corporation
Абстракция — Abstraction
Профессия — Profession

1 урок


Остальные 3 видео доступны в плейлисте или на странице пользователя DjonikNSK
torrent: rutracker.org/forum/viewtopic.php?t=3904361
Total votes 96: ↑55 and ↓41+14
Comments65

RouterTech — альтернатива OpenWRT и улучшение D-Link 500T

Reading time2 min
Views30K
D-Link 500T
Я использую уже достаточно старый D-Link DSL-500T. Не так давно его глюки мне надоели, и я решил либо попробовать прошить его на более стабильную прошивку, либо сменить роутер. Найти более хорошую прошивку было не просто, так как D-Link уже перестал поддерживать её, альтернативные прошивки от McMCC тоже перестали выходить. Но тут неожиданно нашелся RouterTech.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments73

Вышла бета-версия медиацентра Boxee

Reading time1 min
Views3.2K
Недавно началось beta-тестирование кроссплатформенного медиаплеера/центра Boxee. От alpha-версии, вышедшей в июне 2008 года, эта версия отличается новым интерфейсом, разработчиками реализованы соглашения об интеграции с TV.com, blip.tv, IGN. Также появилась возможность установки закладок на понравившееся медиа. Также, в Boxee реализована поддержка онлайн-медиасервисов: YouTube, Flickr, Last.fm, Picasa Web и других. Интеграция с соц.сетями: Twitter, Facebook. Кстати, в Boxee интегрирован торрент-клиент.
Разрабатывается Boxee на С++, а плагины на Питоне. Основа исходников под лицензией GNU GPL.


под катом ссылки и поддерживаемые форматы
Total votes 64: ↑58 and ↓6+52
Comments66

В поисках НЛО. Детект объектов на изображении

Reading time6 min
Views55K
Взлом captcha это, конечно, интересно и познавательно, но, по большому счёту, бесполезно. Это лишь частный случай задачи, которая возникает в одном из интересных направлений развития IT – распознавание образов (pattern recognition).



Сегодня мы рассмотрим алгоритм (точнее, более правильно считать это методикой, т.к. она объединяет в себе множество алгоритмов), который стоит на стыке таких областей, как Machine Learning и Computer Vision.

С помощью этого алгоритма мы будем искать НЛО (позарился на святое) на изображениях.

Уберите детей!
Total votes 92: ↑91 and ↓1+90
Comments37

Bluetooth-браслет от Brando

Reading time1 min
Views5.2K
image

Громкие мелодии, вибрация и даже гарнитуры не всегда помогают вовремя отреагировать на все звонки. Нет-нет да и попадется пропущенный. Известный продавец IT-штук – Brando предлагает гарантированное лекарство от болезни пропущенных звонков.

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

Читать дальше →
Total votes 32: ↑25 and ↓7+18
Comments57

Рабочие переговоры с космической станцией

Reading time1 min
Views1.7K
По этому адресу в режиме реал-тайма можно послушать переговоры космонавтов с «землей», в том числе русских. Про компьютеры, про протухшие консервы и еще много чего интересного.

Роскосмос уже пытается запретить это счастье.

P.S. Молчание на канале означает, что у экипажа нет надобности в общении с «землей». Живут космонавты по гринвическому времени (за исключением дней, когда идет подготовка к выходу, или когда к станции прибывает Шаттл).
Голосовая связь со станцией обеспечивается круглосуточно через американские спутники-ретрансляторы TDRS.
Total votes 124: ↑123 and ↓1+122
Comments96

iPhone —как полноценный gprs/3g модем, используя VPN over SSH.

Reading time2 min
Views9.6K
Видимо по той причине, что Apple заинтересована в безлимитном интернете только на самом iPhone (а не на устройствах подключенных к iPhone), они построили ядро ОС не включив в него технологию DIVERT, которая позволяет использовать NAT подобный тому, который обычно стоит в маршрутизаторах для обеспечения интернетом «серых» сетей (те которые 192.168.0.0/24 например).

К счастью, используя стороннее ПО на iPhone можно запустить socks –сервер, но с ним не умеют работать куча программ.

Однако у нас есть возможность использовать на iPhone SSH и туннелирование трафика, что частично позволяет нам неполноценно и достаточно неудобно, но доставать нужные сервисы из интернета.

Но оказывается такого туннелирования достаточно, что бы, благодаря программе OpenVPN, установить связь с удаленным сервером, который умеет и маршрутизировать и NAT-ить.

Единственный нюанс: необходим удалённый сервер, который будет вашим маршрутизатором. Для этого нужен обычный сервер с реальным белым IP- адресом (динамический тоже можно использовать, например, с помощью dynDNS). Таким сервером может быть: домашний компьютер, сервер на работе, VPS и т.п.
Читать дальше →
Total votes 53: ↑41 and ↓12+29
Comments30

XHTML 2 против HTML 5

Reading time10 min
Views5.1K

Вернемся в прошлое на десять с небольшим лет, в 18 декабря 1997. Internet Explorer 4 был выпущен 3 месяца назад, The Mozilla Foundation еще не сформирована и до выхода Firefox еще далеко. Здесь нет XMLHttpRequest, нет даже XML. В этот день, больше десятилетия назад, HTML 4.0 был опубликован как рекомендация W3C.



Он и стал базой, на основе которой были разработаны современные web-стандарты. Конечно, были и усовершенствования. В 2000 году как официальная рекомендация был принят XHTML 1.0, а CSS 2 был реализован большинством производителей браузеров. Но основа Web – костяк, на котором построен каждый сайт, от простых визиток до комплексных приложений – по существу осталась неизменной.



По крайней мере, до сегодняшнего дня. После долгого затишья, кажется, уклад вещей в W3C меняется – в разработке находятся две конкурирующие спецификации, призванные заменить устаревшие стандарты HTML 4.x и XHTML 1.x. Обе инициативы работают под эгидой W3C (пусть так было и не всегда) и обе, по моему мнению, значительно превосходят текущую подборку языков web-разметки. Это HTML 5 и XHTML 2.0. И если вы читаете эту статью, скорее всего, в течение нескольких следующих лет вам придется работать с одной (или обеими) из них.


Читать дальше →
Total votes 66: ↑64 and ↓2+62
Comments95

What's all this fuss about Erlang?

Reading time5 min
Views5.8K
by Joe Armstrong

Никто не в состоянии предсказывать будущее — но я сделаю несколько обоснованных предположений.

Предположим, что Intel правы, что их проект Keifer выстрелит. Если это случится, то 32-х ядерные процессоры появятся на рынке не позже 2009-2010.

Ничего удивительного здесь нет. Sun уже продает восьмиядерные Niagara с 4-мя «hyperthreads» на каждом ядре, что эквивалентно 32-ум ядрам.

Это разработка, которая осчастливит программистов на Erlang. Они 20 лет ждали этого события, и теперь настало время расплаты.

Хорошие новости для Erlang-программистов:

На N-ядерном процессоре ваша программа будет работать в N раз быстрее.

Читать дальше →
Total votes 77: ↑73 and ↓4+69
Comments271
1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity