FVIZ LAB: ================== ver. 1.1 b 53: - исправлены замеченные ошибки; - добавлены - редактирование контрольных точек (меню EDIT); - добавлены - сохранение настроек | еще не полностью реализовано; - добавлены - измерительные объекты (F9 + SHIFT/CTRL) | еще не полностью реализовано; - добавлен - ZOOM (X,Y), Hot key: Grey [+]/[-], Shift ..., Alt ..., Ctrl ... ; ver. 1.0: - многочисленные изменения... ver. 0.38a: - исправлены замеченные ошибки; - добавлено сохранение ('Save As...') и загрузка ('Open') параметров графических объектов (в том числе и реперов/маркеров); - при закрытии проекта параметры сохраняются файл проекта и файлы данных (можно глобально отменить в окне настроек 'IO Options'); - при открытии файл данных подгружаются одноименные файлы данных графических объектов (можно глобально отменить в окне настроек 'IO Options'); - при сохранении данных, если выбранный тип данных не позволяет полностью сохранить значения данных, выводиться предупреждение. ver. 0.37a: - исправлены замеченные ошибки; - добавлено сохранение более чем одного вектора (форматы dat, fits, vector); - в случае если H (axis 2) равен 1, по умолчанию визуализируется график; ver. 0.34a: - добавлены горячие клавиши : [CTRL] + [SHIFT] + [v] - вставить объект в позицию указанную ранее курсором (центр); [ALT] + [v] - вставить объект в позицию указанную ранее курсором (начальная точка); [ALT] + [l] - показать линзу и значения RGB; [SHIFT]+[F7] - рисование эллипса; [F6] - рисование кривой; [F8] - рисование репера/маркера (размер области по умолчанию 5x5); [h] - переключение формы объекта [h] (эллипс-прямоугольник, линия-сплайн); [t] - переключение формы апертуры объекта; [CTRL]+[1] [CTRL]+[2] - гистограмма/вариационный ряд (окно 'Tools'); [r] - переключение точности вычислений (окно 'Tools'); [ALT] + [1/2/r] - сброс по умолчанию (окно 'Tools'); [CTRL]+[z] [CTRL]+[y] - многоуровневое undo/redo (объекты рисования); - Статистика: - считается фон и расчет ряда параметров с учетом фона (кромка вокруг фигуры меняется мышкой так же как апертура); - считаются координаты "центра масс" X,Y визуализация отключается горячей клавишей [f]; - добавлен эллипс, рисование [SHIFT]+[F7]; - добавлено быстрое переключение алгоритма выбора интервала в гистограмме... горячие клавиши: [1] [2] (изменение этого параметра из gui или командой пока не реализовано) - добавлено быстрое переключение выводимой кривой - гистограмма/вариационный ряд... горячие клавиши: [CTRL]+[1] [CTRL]+[2] (изменение этого параметра из gui или командой пока не реализовано) - добавлено быстрое переключение точности вычислений - горячая клавиша: [r] (фактически изменения в расчете статистики заметны только на некоторых больших по объему REAL32-64 данных и несущественны); сброс по умолчанию параметров - [ALT] + [1/2/r] - Кривые: - добавлены сплайны (пока только b-spline); - добавлена полилиния; (окончание рисования сложных объектов - [ESC]) (создание нового объекта т.е. отказ от добавления !новой! контрольной точки - [ESC] или мышкой - deselect objects) - добавлен режим редактирования формы объекта (можно таскать за контрольный точки) переключение режимов - двойной клик по объекту вне контрольных точек [SHIFT] - в обратном "направлении" режимы: 1 - move only, 2 (shape), 3 (BBOX+shape), 4 (ROTATE+BBOX+shape); - переключение формы обьекта [h] (эллипс-прямоугольник, линия-сплайн и тп); - переключение формы апертуры объекта [t]; - добавлены описание горячих клавиш (см. hotkey.txt); - добавлено сохранение данных в текстовый файл, изменены параметры описателя формата при чтении текстового файла SPLIT (можно задавать пропуски колонок); ver. 0.299a: - изменения горячих клавиш: F4 - показать/спрятать окно "Tools", F6 - рисовать кривую используются контрольные точки; F8 - рисовать точку "reper"; - добавлено многоуровневое undo/redo при операциях с граф. объектами: [CTRL]+[z] - undo, [CTRL]+[y] - redo; ----------------------------------------------------------------------------- [CTRL] + [z] - undo, откат изменений объекта рисования; [CTRL] + [y] - redo, восстановление после отката; [CTRL] + [x] - копировать объект; [CTRL] + [v] - вставить объект; [DEL] - удалить выбранные объекты; [SHIFT]+[DEL] - удалить все объекты; ----------------------------------------------------------------------------- - добавлен режим редактирования формы объекта (можно таскать за контрольный точки) переключение режимов - 1 - move only, 2 (shape), 3 (BBOX), 4 (ROTATE) - двойной клик по объекту вне контрольных точек; - добавлена горячая клавиша: [a] - изменение визуализации апертуры (прозрачные линии, непрозрачные линии, заполнение); - добавлен граф. объект - точка ("reper") (горячая клавиша F8) а также операции с выделенными группами точек: - выделение, - удаление, - соединение - линии и угольники, - вычисление расстояний и углов, - преобразование в траекторию или другой объект, и тп; - при перемещении граф. объекта изменяется положение курсора в окне (визуализация позиции); - граф. объект можно перемещать стрелками на клавиатуре (если он выделен); - вращение граф. объекта вокруг Pivot центра сделано корректно; - изменено преобразование RGB битмапов в одноканальные - умножение на (1.0/3.0) по умолчанию не производиться (для удобства вычисления суммарного сигнала), поскольку внутренний формат обработки real 64 (см. руководство), то потери точности нет. ver. 0.298a: - режим вращения объекта (+ перемещение Pivot центра), двойной клик правой кнопкой мышки на объекте; ver. 0.297a: - в режимах рисования объекта (и до нажатия на правую клавишу мышки) работает линза; - добавлены: 1. описание горячих клавиш (см. hotkey.txt); 2. Двойной клик правой кнопкой мышки на объекте - режим вращения обьекта (еще не реализовано) + перемещение Pivot центра; ver. 0.296a: - добавлен граф. объект "reper" (горячая клавиша F8), точки на плоскости, которые могут быть преобразованы в траектории 1D (фигуры 2D), а так же измерено расстояние между ними (функции пока не реализованы); - изменена горячая клавиша [SHIFT] + [v] - показать свойства всех объектов; - добавлены: 1. [CTRL] + [x] - копировать объект; 2. [CTRL] + [v] - вставить объект; - исправлены замеченные ошибки; ver. 0.29a: - добавлено изменение граф. объекта (линии, бокса) (slice, statistic), горячие клавиши: - X - горизонтальный (поворот относительно центра); - SHIFT+X - горизонтальный (поворот относительно начальной точки); - ALT+X - горизонтальный (поворот относительно конечной точки); - Y - вертикальный (поворот относительно центра); - SHIFT+Y - вертикальный (поворот относительно начальной точки); - ALT+Y - вертикальный (поворот относительно конечной точки); - / - диагональ (начальная точка в верхнем левом углу); - \ - диагональ (начальная точка в нижнем левом углу); - SHIFT+C - clipping; (откат - CTRL+Z) - исправлено: сохранение в формате double|byteswap - данные сохранялись в double|litle endian; - исправлено: сохранение в формате double - данные сохранялись без учета bzero | bscale (как есть); ver. 0.28a: - исправлены замеченные ошибки: крах при создании 1x1 бокса для измерения статистики; ver. 0.27a: - исправлены замеченные ошибки; ver. 0.26a: - исправлены замеченные ошибки; ver. 0.25a: - добавлено меню "Save As..." - увеличена производительность при отображении битмапа; - другие изменения... - исправлены замеченные ошибки; ver. 0.21a: - добавлено чтение данных в формате TEXT (1D), DSV; - исправлены замеченные ошибки; ver. 0.20a: - добавлено сохранение данных в формате FITS; - полная поддержка чтения данных в формате BMP: rle, произвольные поля, поддержка 9-32 бита на канал (для 16, 32 битных файлов), если такие файлы можно найти :-) количество каналов зависит от разрядности; - исправлены замеченные ошибки; ver. 0.18a: - добавлен вывод более полной информации об открытых данных; - исправлена часть замеченных ошибок; ver. 0.17a: - добавлено чтение данных в формате BMP; - исправлены замеченные ошибки; ver. 0.16a: - при открытии данных name.ext читается одноименный скрипт файл: name.fs, если name.fs не прочитан, используется name.%xxx. Из этих файлов берутся дополнительные данные; - исправлены замеченные ошибки при записи данных и другие; ver. 0.12a: - добавлены новые горячие клавиши (смотри hotkey.txt); - исправлены замеченные ошибки; ver. 0.1a: - добавлена статистика (окно tools), используйте клавишу F7 для рисования бокса; - добавлена закладка - параметры разрезов, статистики (еще не работает); - добавлены новые горячие клавиши (смотри hotkey.txt); - исправлены замеченные ошибки; ver. 09990a: - добавлен интерфейс - параметры разрезов (еще не подключил); параметры визуализации кривых; - исправлены замеченные ошибки и добавлены новые :-); - переработано ядро программы (добавлены мультиобъектные операции с потоками данных); - изменен алгоритм вычисления шага делений вертикальной линейки для кривых; - другие изменения... ver. 09986a: - добавлена закладка - параметры визуализации графиков (кривых); - добавлена интерполяция при визуализации графиков (кривых): 0,1,2 порядок, 3 (Лагранж, сплайны), простейшая аппроксимация; - исправлены замеченные ошибки; - другие изменения. ver. 09985a: - добавлено проигрывание кадров (смотри hotkey.txt); - другие изменения. ver. 09983a: - добавлено сохранение файлов (опция нуждается в тестировании), не все опции и форматы пока доступны; - формат ключей -key заменен на /key (смотри cmdlist.txt); - исправлены замеченные ошибки; - при "открытии/сохранении" пункт меню "Any Binary" позволяет "открыть/сохранить" binary data с любым расширением... - при открытии файлов в зависимости от флажка "IO Options"->Common->"Work Area common state" создается новая рабочая область или объекты добавляются в текущую (выбор области осуществляется в закладке "Info"->"Work Area"); - если файл является копией открытого, цвет закладки в рабочей области меняется; - добавлена поддержка кадров и воспроизведение кадров (в начальной стадии); ver. 09978a: - добавлено чтение jpeg (пока сумма 3 каналов RGB) ver. 09978a: - немного оптимизации; - исправлено нестандартное чтение BZERO (fits); - улучшена совместимость с альтернативными библиотеками OpenGl (Mesa, sgi); ver. 09977a: - добавлена фильтрация данных при аффинных трансформациях; - изменен алгоритм рисования кривых; - другие незначительные изменения. ver. 09976a: - изменен формат данных объектов рисования (float); - апертура (толщина разреза) может быть больше 1; - [CTRL]+[z] - откат изменений объекта рисования (один шаг для любого обьекта); - [v] - показать информацию об объектах, показать рамку (если потерялись); - [t] - изменить тип траектории усреднения (влияет, если апертура больше 1 и разрез под углом); - [b] - связать маркеры двух окон (main & slice) и показывать результат (в главном окне); - [t] - изменяет поведение границы разреза - другие незначительные изменения. ver. 0.076: - Key: Alt/Ctrl + "1 ... 5" изменение расположения картинки; - исправлен алгоритм хеширования на больших массивах данных; - перемещение картинки мышкой (key: [Space]) не затрагивает другие загруженные изображения; - в окно plug-ins 'Options' добавлен вывод 'performans'; - введен режим "измерений" и режим "просмотра"... Режим "измерений" исключает неточности соответствия видимых на экране данных и измеряемых параметров изображения. Режим "просмотра" позволяет быстро просматривать изображения в ущерб некоторой точности выводимых параметров изображения (hardware scale/rotate/flip). Режим "измерений" включатся автоматически, если проводятся процедуры обработки и измерения, например, разрезы... Также его можно включить принудительно - F2 (или кнопка на панели управления); - корректно сделан поворот изображения на произвольный угол. При малых углах поворота в режиме "просмотра" возможно следующее расхождение: значений визуализируемых данных (соответствующих значениям координат пикселя на экране) могут отличаться - это плата за скорость визуализации в этом режиме (hardware scale/rotate/flip). Эта особенность исключена в режиме "измерений"; - в режиме "измерений" повороты и изменение размеров изображения выполняется программно... доступны разные алгоритмы поворота и масштабирования, включая требующие значительных ресурсов алгоритмы со сглаживанием и многопроходные 2D. В данной версии реализовано часть из них... Алгоритмы могут изменяться подключаемыми модулями ("плагинами"); любые алгоритмы масштабирования и поворота требуют тест на вносимые шумы и изменения кривых распределения, так как затрагивают субпиксельный уровень, данные тесты доступны в режиме "измерения"; - предусмотрен интерфейс подключаемых плагинов для всех необходимых функций программы, включая форматы изображений, добавление новых функций gui и команд командного интерпретатора (добавление новых команд). Однако sdk в настоящий момент развития программы не предоставлен пользователям (по причине постоянных изменений в коде программы); - изменены формы курсоров; - исправлен вывод значений координат для нечетных значений высоты и ширины изображения; - размер обрабатываемых (и визуализируемых) массивов данных неограничен; каждое открытое изображение требует около 1-2 мег. оперативной памяти в режиме "измерений"; режим "просмотра" менее требователен; быстродействие визуализации данных лимитируется быстродействием видео ускорителя, желательны "быстрая" "видеокарта". - улучшено быстродействие кода (вычислений над массивами и преобразования данных); быстродействие ограничивается загрузкой видимой области изображения в память "видеоадаптера" (для "медленных видеокарт" ) и суммарным быстродействием всех !активированных! плагинов обработки. Параметры функций хеширования для каждого загруженного изображения и конвертора обработки задаются индивидуально, что полезно для больших массивов данных и "медленных" конверторов. Для стандартных функций обработки !лимитирующем! звеном является загрузка данных в память "видеокарты" (а так же масштабирование/поворот в режиме "измерений"). Эффекты "замедления" визуализации могут иметь место при изменении режимов визуализированных данных (например, при изменении цветовой схемы или параметров обработки, сдвиге изображения на значительное расстояние, когда происходит заполнения буферов и т.п.); - добавлена опция вывода (измерения) времени суммарной обработки данных так и данных каждого активированного плагина обработки; измерение проводиться как среднее время и число тактов процессора затраченное на обработку на один элемент данных (на 1-2D отчет(пиксель)); среднее время затраченное на весь конвейер обработки так же выводиться в пересчете на один элемент данных конечного вывода. - добавлена генерация кода для процессоров PentiumIV; - добавлено изменение области вывода изображений при изменении размера окна; - двойной клик мышью на свободном поле разворачивает рабочую область на все главное окно; также для этого в след. версии будет предусмотрена горячая клавиша и кнопка. - добавлены конверторы изображения и оставлены для тестирования центровки изображения и цветовых схем ("палитр") конверторы создающие градиент и белый бокс; - добавлены горячие клавиши - [F10] - восстановить исходную позицию изображения, курсор и т.д. по умолчанию, [F9] - восстановить масштаб изображения по умолчанию; - добавлено вычисление min/max при загрузке изображения и изменения его типа из окна "IO Options" и соответствующие кнопки; - добавлен "разумный" алгоритм определения типа данных signed/unsigned для тех форматов которые допускают произвольное их назначение (а следовательно и толкование), в частности для бинарных массивов (.dat; etc) и нестандартных fits... - добавлено более разумное назначение размеров осей для dat форматов, а также их изменение в окне “IO Options”; Также добавлена возможность установить размер осей изображения, используя service file: fname.%ex; - добавлен командный процессор - команда напечатать ключи: fviz.exe -key например: fviz.exe -exitdialog off fname.fits загрузит изображение fname.fits и отключит диалоговое окно, появляющееся при попытке выйти из программы... - добавлены кнопки изменения масштаба данных (по X и Y). Изменение - масштаба данных имеет смысл шкалирования и входит в процедуру измерений производимых над данными. Изменение масштаба для удобства просмотра (в режиме "Измерений") (без масштабирования самих данных) пока не предусмотрено (хотя в режиме "Просмотра" происходит именно так, данные при этом не меняются (hardware scale/rotate/flip) что значительно ускоряет просмотр). Клавиши на дополнительной клавиатуре: Grey [+/-] изменяет масштаб данных пропорционально. Ctrl + Grey [+/-] изменение масштаба по оси Y только (+/- 1%), Alt + Grey [+/-] по оси X только (+/- 1%). Shift + [...] (+/- 10%) - многоканальные, векторные данные пока не поддерживаются; в случае многоканальных данных (например, rgb) читается один (первый) канал;