CUDA (Проект)/Техническое задание — различия между версиями
Материал из Wiki
ANA (обсуждение | вклад) м |
Yura (обсуждение | вклад) м (→Интерфейс программы анализа матриц ошибок и построение матрицы относительных координат совмещений) |
||
(не показаны 11 промежуточных версий 3 участников) | |||
Строка 19: | Строка 19: | ||
# Представление данных | # Представление данных | ||
node [fontname="DejaVuSans",fontsize=10,charset="UTF-8",shape="note"]; | node [fontname="DejaVuSans",fontsize=10,charset="UTF-8",shape="note"]; | ||
− | edge [shape="vee"]; | + | edge [shape="vee"; fontsize=10; textcolor="blue"]; |
InputImage [label="Исходные изображения кадров\n отдельных слоёв (BMP, JPG)"] | InputImage [label="Исходные изображения кадров\n отдельных слоёв (BMP, JPG)"] | ||
ImagesDDS [label="Описание слоёв\n(Config+DDS)"] | ImagesDDS [label="Описание слоёв\n(Config+DDS)"] | ||
Строка 28: | Строка 28: | ||
node [fontname="DejaVuSans",fontsize=10,charset="UTF-8",shape="box3d"]; | node [fontname="DejaVuSans",fontsize=10,charset="UTF-8",shape="box3d"]; | ||
CombinePrg [label="Программа сшивки\n отдельных слоев"] | CombinePrg [label="Программа сшивки\n отдельных слоев"] | ||
− | MergeLayers [label="Программа модификации\n изображения с целью совмещения\n отдельных слоёв"] | + | MergeLayers [label="Программа модификации\n(поворот, сдвиг, масштабирование, трапеция)\n изображения с целью совмещения\n отдельных слоёв"] |
LayoutViewer [label="Программа просмотра\n слоёв топологии СБИС"] | LayoutViewer [label="Программа просмотра\n слоёв топологии СБИС"] | ||
# ,shape="ellipse" | # ,shape="ellipse" | ||
Строка 34: | Строка 34: | ||
# описание связей | # описание связей | ||
− | + | InputImage -> CombinePrg -> ImagesDDS -> {LayoutViewer ; MergeLayers} | |
− | + | LayoutViewer -> PrjDDS [label="Config"] | |
− | + | PrjDDS -> LayoutViewer | |
+ | LayoutViewer -> MergeLayers [label="Setup"] | ||
+ | MergeLayers -> PrjDDS [label="DDS + Config"] | ||
+ | PrjDDS -> {Export} | ||
+ | Export -> ImageBMP [shape="vee"] | ||
} | } | ||
Строка 50: | Строка 54: | ||
Выходные форматы: | Выходные форматы: | ||
* форматы видеоизображений: BMP, DDS. | * форматы видеоизображений: BMP, DDS. | ||
− | * форматы представления проекта: GLEW, Photopreview, собственный формат (Config). | + | * форматы представления проекта: GLEW, Photopreview, собственный формат проекта (Config), определяемый подобно INI-файлам. |
+ | |||
+ | Формат Config включает: | ||
+ | |||
+ | Секция '''GLOBAL''' - описание проекта в целом - содержит: | ||
+ | * Число слоёв в проекте ('''LAYERS_NUMBER''') | ||
+ | * Путь доступа к рабочему директорию проекта ('''WORK_DIR''') | ||
+ | * По каждому слою (создаются секции слоев с именами от '''LAY0''' до '''LAY15'''): | ||
+ | ** номер слоя ('''NUMBER''') (используется для упорядочивания списка слоев) | ||
+ | ** имя слоя ('''NAME''') | ||
+ | *** атрибут слоя ('''TYPE''') (1 - металл, 2 - поликремний, 3 - контакт, 0 - прочее) | ||
+ | ** размер слоя Кадров_по_X (горизонтали) + Кадров_по_Y (вертикали) ('''H_SIZE''' и '''V_SIZE''' соответственно) | ||
+ | ** имя поддиректория в рабочем директории проекта, в котором хранятся файлы изображений кадров ('''LAYER_DIR''') | ||
+ | ** тип изображения в кадрах входа: DDS, BMP ('''IMAGE_TYPE''') | ||
+ | ** Среднее перекрытие кадров по горизонтали и вертикали('''H_AVERAGE_OVERLAP''' и '''V_AVERAGE_OVERLAP''') | ||
+ | ** {{Фио|Направление обхода (Например, 0 — слева направо, сверху вниз; 1 — слева направо, снизу вверх; 2 — сверху вниз, слева направо; 3 — снизу вверх, слева направо) Это задается только при импорте слоя в проект}} | ||
+ | ** {{Зел|следующие две позиции определяют информацию по отдельным кадрам | ||
+ | *** Список имён файлов изображений кадров всегда представлен в файле с именем '''${LAYER_DIR}_NAMES.txt''') <br />— по одному имени в строке без расширения (в именах могут использоваться только буквы латинского алфавита, цифры и знаки подчеркивания) | ||
+ | *** Список значений координат левого верхнего угла каждого кадра в общем изображении слоя (или смещение относительно среднего перекрытия) - всегда представлен в файле с именем '''${LAYER_DIR}_BIND.txt''') | ||
+ | *** <s>возможно, поворот отдельного кадра ???</s>}} | ||
+ | ** Размеры отдельного кадра в пикселях по горизонтали ('''H_PIXEL''') и вертикали ('''V_PIXEL''') - читаются из файла изображения одного из кадров - считается, что размеры кадров равны для всего слоя | ||
+ | ** Значение угла поворота слоя в плоскости XY (0...±180°) ('''ANGLE''') | ||
+ | ** Значение сдвига по горизонтали и вертикали ('''H_SHIFT''' и '''V_SHIFT''') | ||
+ | ** Значение масштаба (масштабирование слоя с целью сведения всех слоев в один размер) '''SCALE''' (возможно потребуется пара коэффициентов - отдельно по горизонтали и вертикали) | ||
+ | ** ¿ Значение исправления трапеции ({{Фио|возможно, важен порядок применения трапеции и поворотов к исходному изображению??}}) | ||
+ | ** ¿ ''Цветовые параметры слоя (контраст, коррекция цвета и др.)'' | ||
+ | ** ¿ ''Масштаб изображения (число пикселей/мкм)'' | ||
+ | * Состояние отображения топологии при последнем просмотре | ||
+ | * Закладки (координаты и масштаб (+видимые слои/прозрачность) - сохранённые области на топологии | ||
+ | * ??? | ||
=== Выполняемые функции программ === | === Выполняемые функции программ === | ||
Строка 60: | Строка 93: | ||
* если отдельные, то нужно проработать форматы данных для стыковки программ. | * если отдельные, то нужно проработать форматы данных для стыковки программ. | ||
* свойства слоёв (контакты, металл, поликремний и прочее)? | * свойства слоёв (контакты, металл, поликремний и прочее)? | ||
+ | |||
+ | |||
+ | ==== Программа импорта проекта ==== | ||
+ | |||
+ | * Создаёт проект - совокупность файлов изображений кадров для нескольких слоёв одной топологии СБИС. | ||
+ | * на входе могут задаваться: | ||
+ | ** каталог[и] с файлами изображений кадров слоёв (для которых нужно указать порядок следования/обхода фотографирования слоя: сверху-вниз слева-направо...) | ||
+ | ** файлы описания слоёв для программы Photopreview/Glew | ||
Строка 66: | Строка 107: | ||
* Грузит изображения отдельных кадров слоёв топологии СБИС | * Грузит изображения отдельных кадров слоёв топологии СБИС | ||
** Вопросы: | ** Вопросы: | ||
− | *** грузит по одному слою, или задаются сразу все слои? | + | *** грузит <u>по одному слою</u>, <s>или задаются сразу все слои</s>? |
*** кроме изображений нужно ли задавать файл со списком файлов изображения кадров (по одному слою или по всем слоям)? | *** кроме изображений нужно ли задавать файл со списком файлов изображения кадров (по одному слою или по всем слоям)? | ||
+ | *** брать ли на входе файл Glew/Photopreview? | ||
* Находит наилучшее совмещение между кадрами видеоизображений | * Находит наилучшее совмещение между кадрами видеоизображений | ||
** задаётся средняя область перекрытия по вертикали и горизонтали | ** задаётся средняя область перекрытия по вертикали и горизонтали | ||
** величину контрольной зоны перекрытия (поиска лучшего совмещения) | ** величину контрольной зоны перекрытия (поиска лучшего совмещения) | ||
− | * совмещает отдельные кадры в единое изображение слоя | + | * по определённым перекрытиям (наилучшего совмещения отдельных кадров) совмещает отдельные кадры в единое изображение слоя |
− | ** Вопрос: Что делать если не совмещаются | + | ** Вопрос: Что делать если не совмещаются? |
− | * разрезает единое изображение слоя на отдельные кадры, которые совмещаются встык. | + | * разрезает единое изображение слоя на отдельные кадры, которые совмещаются встык (нужно ли это?). |
* сохраняет полученные изображения в формате DDS + Config | * сохраняет полученные изображения в формате DDS + Config | ||
** Вопросы: | ** Вопросы: | ||
− | *** нужен ли здесь DDS? | + | *** нужен ли здесь DDS, или можно использовать BMP (PPM)? |
*** нужно ли сохранять значения наилучших перекрытий (или это отладочная информация)? | *** нужно ли сохранять значения наилучших перекрытий (или это отладочная информация)? | ||
*** нужно ли сохранение в форматах GLEW и Photopreview? | *** нужно ли сохранение в форматах GLEW и Photopreview? | ||
− | *** нужна ли визуализация полученного единого изображения слоя | + | *** нужна ли визуализация полученного единого изображения слоя? или как контролировать качество сшифки? |
+ | Глобальный вопрос: | ||
+ | * На выходе программы что нужно получить? | ||
+ | ** исходные изображения (BMP/DDS?) {{Сн|+}} Config1 (включающий координаты (левый верхний угол) кадров в единых координатах общего изображения слоя) | ||
+ | ** '''<big>{</big>''' исходные изображения (BMP/DDS?) {{Сн|+}} Config1 (координаты с перекрытием) <big>'''}'''</big> {{Кр|+}} '''<big>{</big>''' кадры без перекрытия сшитого изображения слоя (BMP/DDS?) {{Сн|+}} Config2 (координаты без перекрытия) <big>'''}'''</big> | ||
+ | ** кадры без перекрытия сшитого изображения слоя (BMP/DDS?) {{Сн|+}} Config2 (координаты без перекрытия) | ||
− | ==== Программа | + | |
+ | ==== Программа коррекции отдельных слоёв (MergeLayers) ==== | ||
* загружает изображения всех слоёв топологии СБИС | * загружает изображения всех слоёв топологии СБИС | ||
Строка 98: | Строка 146: | ||
*** на произвольный угол, заданный пользователем, по часовой либо против часовой стрелки; | *** на произвольный угол, заданный пользователем, по часовой либо против часовой стрелки; | ||
*** автоматическое выравнивание (поворот) при задании пользователем двух точек, которые должны лежать на одной прямой (вертикальной или горизонтальной); | *** автоматическое выравнивание (поворот) при задании пользователем двух точек, которые должны лежать на одной прямой (вертикальной или горизонтальной); | ||
− | ** поворот изображения всех слоёв на угол ±90°, 180°; | + | ** поворот изображения всех слоёв (либо одного слоя?) на угол ±90°, 180°; |
− | ** исправление трапеции, при задании пользователем четырёх точек углов многоугольника; | + | ** "исправление" трапеции, при задании пользователем четырёх точек углов многоугольника; |
** масштабирование видеоизображения для совмещения отдельных слоёв (изменение линейных размеров) | ** масштабирование видеоизображения для совмещения отдельных слоёв (изменение линейных размеров) | ||
** сдвиг слоёв друг относительно друга | ** сдвиг слоёв друг относительно друга | ||
− | * Экспорт слоёв в формат Photopreview/GleW | + | * Экспорт слоёв в формат Photopreview/GleW + BMP |
− | ==== Программа просмотра слоёв ( | + | ==== Программа просмотра слоёв (DDSView[er]) ==== |
− | ==== Возможные названия ==== | + | * загружает изображения всех слоёв топологии СБИС (DDS+Config | BMP+Config | JPG+Config?? | BMP+Glew | BMP + Photopreview) |
− | + | * осуществляет следующие действия над видеоизображением: | |
− | + | ** просмотр изображений слоёв | |
− | + | *** масштабирование отображаемого (видимого) изображения слоёв | |
+ | **** общий вид (вписать в окно - fit to window); | ||
+ | **** увеличение/уменьшение в два раза; | ||
+ | **** увеличение выделенной области на весь экран/окно; | ||
+ | **** "плавное" увеличение/уменьшения масштаба отображения изображения; | ||
+ | *** перемещение по изображению по четырём направлениям | ||
+ | *** центрирование изображение заданной точке | ||
+ | *** запоминание позиции и переход к сохранённой позиции (закладки)?! | ||
+ | **** Сохранение и открытие закладок - области отображения (координаты, масштаб, видимость слоёв) для последующего быстрого восстановления сохранённого ранее фрагмента. | ||
+ | ** переключение видимости и прозрачности по каждому слою топологии СБИС | ||
+ | ** измерение линейных размеров (инструмент линейка) по любому направлению. | ||
+ | *** отображение на экране линейки - с выводом значений измеренных значений | ||
+ | ** Печать на принтере изображений (всей топологии, видимой области (экрана), выделенного фрагмента) | ||
+ | ** Сохранение (экспорт в BMP/JPG/PNG) изображений (всей топологии, видимой области (экрана), выделенного фрагмента) | ||
+ | * ''Рисование заметок (линий, прямоугольников, рисованных линий, текста) на топологии {{Фио|???}}'' | ||
+ | |||
+ | ==== Возможные названия программ ==== | ||
+ | |||
+ | Сшифка кадров: | ||
* Connect frames | * Connect frames | ||
* Overlapping frames | * Overlapping frames | ||
* Combining frames | * Combining frames | ||
* crosslinking frames | * crosslinking frames | ||
− | * | + | |
+ | Совмещение слоёв: | ||
+ | * Stitching layers | ||
+ | * Merge layers | ||
+ | * Overlapping layers | ||
+ | * Adapting | ||
+ | ** LayersAdapt/AdaptLayers | ||
+ | * ImageTransform[er] | ||
+ | |||
+ | Просмотр изображений: | ||
+ | * ImageView[er] | ||
+ | * ChipView[er] | ||
=== Требования к аппаратуре и размерам видеоизображений === | === Требования к аппаратуре и размерам видеоизображений === | ||
# Комплекс программных средств должен быть оптимизирован под архитектуры "Fermi" (GF110) и "Kepler" (GK110) ф.Nvidia (CUDA v2.1 - 3.5); | # Комплекс программных средств должен быть оптимизирован под архитектуры "Fermi" (GF110) и "Kepler" (GK110) ф.Nvidia (CUDA v2.1 - 3.5); | ||
# Комплекс программных средств должен полноценно функционировать на видеоускорителях с объёмом ОЗУ 1.5 GB, и предусматривать работу со слоями видеоизображения объёмом не менее 16 GB. | # Комплекс программных средств должен полноценно функционировать на видеоускорителях с объёмом ОЗУ 1.5 GB, и предусматривать работу со слоями видеоизображения объёмом не менее 16 GB. | ||
+ | |||
+ | === Интерфейс программы построения матрицы ошибок === | ||
+ | |||
+ | spect_gen.exe [-x|--xmargin Value] [-y|--ymargin Value] [-s|--offset Value] [-o|--output] <input_file_name> | ||
+ | [-h|--help] - print this text | ||
+ | xmargin - среднее перекрытие кадров по горизонтали (обязательный) | ||
+ | ymargin - среднее перекрытие кадров по вертикали (обязательный) | ||
+ | offset - максимальный сдвиг относительно среднего перекрытия ( общее для горизонтального и вертикального перекрытия ) (обязательный) | ||
+ | output - директория для полученных файлов (необязательный) | ||
+ | <input_file_name> - имя файла, который содержит список имён файлов изображений кадров слоя топологии СБИС (обязательный) | ||
+ | [-l|--layer] <layer_name> - Имя слоя, влияет на имя выходных файлов матрицы ошибок <layer_name>_[r|d]. (необязательный). | ||
+ | Если не задан параметр, то именем слоя считается директория, в которой лежит input_file; | ||
+ | Если не задано имя слоя и исходные файлы лежат в корневой директории, то выходные файлы именуются layer_[r|d]. | ||
+ | {{Кр|[--cols]}} | ||
+ | {{Кр|[--rows]}} | ||
+ | {{Кр|[--xwin]}} | ||
+ | {{Кр|[--ywin]}} | ||
+ | |||
+ | |||
+ | === Интерфейс программы анализа матриц ошибок и построение матрицы относительных координат совмещений === | ||
+ | |||
+ | error_matrix_corrextion.exe [--cols][--rows][--xmargin] [--ymargin] [--offset] [--gap] <path> | ||
+ | * "[-h|--help] - print this text | ||
+ | * [-V|--verbosity] - вывод отладочной информации. Дополнительные файлы изображений матриц ошибок. | ||
+ | * [-x|xmargin - среднее перекрытие кадров по горизонтали (обязательный) | ||
+ | * [-y|ymargin - среднее перекрытие кадров по вертикали (обязательный) | ||
+ | * [-s|offset - максимальный сдвиг относительно среднего перекрытия ( общее для горизонтального и вертикального перекрытия ) (обязательный) | ||
+ | * [-g|--gap] - ширина области исключения по внешнему периметру (краям) матрицы ошибок (необязательный, значение по умолчанию 0) | ||
+ | * <path> - папка, где лежат матрицы ошибок | ||
+ | * [-l|--layer] <layer_name> - Имя слоя, влияет на имя входных файлов матриц ошибок <layer_name>_[r|d]. <br /> Если не задан параметр, то именем слоя считается имя директории <path>. | ||
+ | * [-m|--mode] режим расчета смещений (необязательный, значение по умолчанию 0) | ||
+ | ** 0 (default) - анализ матриц ошибок и расчет сходимости смещений по соседним 4м кадрам | ||
+ | ** 1 (simple) - простой режим расчета смещений | ||
+ | ** 2 - | ||
+ | ** 3 - |
Текущая версия на 13:57, 10 января 2015
Проект CUDA
- Техническое задание
- DDS формат
- Алгоритм сшифки кадров
- Описание программы GLView
Литература
Содержание |
Основные требования
Программные средства предназначены для:
- сборки видеоизображения топологического слоя СБИС из отдельных кадров, полученных с помощью микроскопа.
- автоматизированного совмещения различных топологических слоёв одной СБИС с устранением линейных искажений.
- визуального просмотра полученных изображений
- экспорта изображений слоя в формат программ PhotoPreview и Glew.
Форматы данных
Входные форматы:
- форматы видеоизображений: BMP, JPG, DDS.
- форматы представления проекта: GLEW, Photopreview, собственный формат (Config).
Выходные форматы:
- форматы видеоизображений: BMP, DDS.
- форматы представления проекта: GLEW, Photopreview, собственный формат проекта (Config), определяемый подобно INI-файлам.
Формат Config включает:
Секция GLOBAL - описание проекта в целом - содержит:
- Число слоёв в проекте (LAYERS_NUMBER)
- Путь доступа к рабочему директорию проекта (WORK_DIR)
- По каждому слою (создаются секции слоев с именами от LAY0 до LAY15):
- номер слоя (NUMBER) (используется для упорядочивания списка слоев)
- имя слоя (NAME)
- атрибут слоя (TYPE) (1 - металл, 2 - поликремний, 3 - контакт, 0 - прочее)
- размер слоя Кадров_по_X (горизонтали) + Кадров_по_Y (вертикали) (H_SIZE и V_SIZE соответственно)
- имя поддиректория в рабочем директории проекта, в котором хранятся файлы изображений кадров (LAYER_DIR)
- тип изображения в кадрах входа: DDS, BMP (IMAGE_TYPE)
- Среднее перекрытие кадров по горизонтали и вертикали(H_AVERAGE_OVERLAP и V_AVERAGE_OVERLAP)
- Направление обхода (Например, 0 — слева направо, сверху вниз; 1 — слева направо, снизу вверх; 2 — сверху вниз, слева направо; 3 — снизу вверх, слева направо) Это задается только при импорте слоя в проект
- следующие две позиции определяют информацию по отдельным кадрам
- Список имён файлов изображений кадров всегда представлен в файле с именем ${LAYER_DIR}_NAMES.txt)
— по одному имени в строке без расширения (в именах могут использоваться только буквы латинского алфавита, цифры и знаки подчеркивания) - Список значений координат левого верхнего угла каждого кадра в общем изображении слоя (или смещение относительно среднего перекрытия) - всегда представлен в файле с именем ${LAYER_DIR}_BIND.txt)
-
возможно, поворот отдельного кадра ???
- Список имён файлов изображений кадров всегда представлен в файле с именем ${LAYER_DIR}_NAMES.txt)
- Размеры отдельного кадра в пикселях по горизонтали (H_PIXEL) и вертикали (V_PIXEL) - читаются из файла изображения одного из кадров - считается, что размеры кадров равны для всего слоя
- Значение угла поворота слоя в плоскости XY (0...±180°) (ANGLE)
- Значение сдвига по горизонтали и вертикали (H_SHIFT и V_SHIFT)
- Значение масштаба (масштабирование слоя с целью сведения всех слоев в один размер) SCALE (возможно потребуется пара коэффициентов - отдельно по горизонтали и вертикали)
- ¿ Значение исправления трапеции (возможно, важен порядок применения трапеции и поворотов к исходному изображению??)
- ¿ Цветовые параметры слоя (контраст, коррекция цвета и др.)
- ¿ Масштаб изображения (число пикселей/мкм)
Выполняемые функции программ
Общие вопросы:
- нужно ли совмещать данные задачи в единую программу или для каждой задачи использовать отдельную программу?
- если отдельные, то нужно проработать форматы данных для стыковки программ.
- свойства слоёв (контакты, металл, поликремний и прочее)?
Программа импорта проекта
- Создаёт проект - совокупность файлов изображений кадров для нескольких слоёв одной топологии СБИС.
- на входе могут задаваться:
- каталог[и] с файлами изображений кадров слоёв (для которых нужно указать порядок следования/обхода фотографирования слоя: сверху-вниз слева-направо...)
- файлы описания слоёв для программы Photopreview/Glew
Программа сшивки отдельных слоев ()
- Грузит изображения отдельных кадров слоёв топологии СБИС
- Вопросы:
- грузит по одному слою,
или задаются сразу все слои? - кроме изображений нужно ли задавать файл со списком файлов изображения кадров (по одному слою или по всем слоям)?
- брать ли на входе файл Glew/Photopreview?
- грузит по одному слою,
- Вопросы:
- Находит наилучшее совмещение между кадрами видеоизображений
- задаётся средняя область перекрытия по вертикали и горизонтали
- величину контрольной зоны перекрытия (поиска лучшего совмещения)
- по определённым перекрытиям (наилучшего совмещения отдельных кадров) совмещает отдельные кадры в единое изображение слоя
- Вопрос: Что делать если не совмещаются?
- разрезает единое изображение слоя на отдельные кадры, которые совмещаются встык (нужно ли это?).
- сохраняет полученные изображения в формате DDS + Config
- Вопросы:
- нужен ли здесь DDS, или можно использовать BMP (PPM)?
- нужно ли сохранять значения наилучших перекрытий (или это отладочная информация)?
- нужно ли сохранение в форматах GLEW и Photopreview?
- нужна ли визуализация полученного единого изображения слоя? или как контролировать качество сшифки?
- Вопросы:
Глобальный вопрос:
- На выходе программы что нужно получить?
- исходные изображения (BMP/DDS?) + Config1 (включающий координаты (левый верхний угол) кадров в единых координатах общего изображения слоя)
- { исходные изображения (BMP/DDS?) + Config1 (координаты с перекрытием) } + { кадры без перекрытия сшитого изображения слоя (BMP/DDS?) + Config2 (координаты без перекрытия) }
- кадры без перекрытия сшитого изображения слоя (BMP/DDS?) + Config2 (координаты без перекрытия)
Программа коррекции отдельных слоёв (MergeLayers)
- загружает изображения всех слоёв топологии СБИС
- осуществляет следующие действия над видеоизображением:
- просмотр изображений слоёв
- масштабирование отображаемого (видимого) изображения слоёв
- общий вид (вписать в окно - fit to window);
- увеличение/уменьшение в два раза;
- увеличение выделенной области на весь экран/окно;
- "плавное" увеличение/уменьшения масштаба отображения изображения;
- перемещение по изображению по четырём направлениям
- центрирование изображение заданной точке
- запоминание позиции и переход к сохранённой позиции ?!
- масштабирование отображаемого (видимого) изображения слоёв
- поворот изображения отдельного слоя:
- на произвольный угол, заданный пользователем, по часовой либо против часовой стрелки;
- автоматическое выравнивание (поворот) при задании пользователем двух точек, которые должны лежать на одной прямой (вертикальной или горизонтальной);
- поворот изображения всех слоёв (либо одного слоя?) на угол ±90°, 180°;
- "исправление" трапеции, при задании пользователем четырёх точек углов многоугольника;
- масштабирование видеоизображения для совмещения отдельных слоёв (изменение линейных размеров)
- сдвиг слоёв друг относительно друга
- просмотр изображений слоёв
- Экспорт слоёв в формат Photopreview/GleW + BMP
Программа просмотра слоёв (DDSView[er])
- загружает изображения всех слоёв топологии СБИС (DDS+Config | BMP+Config | JPG+Config?? | BMP+Glew | BMP + Photopreview)
- осуществляет следующие действия над видеоизображением:
- просмотр изображений слоёв
- масштабирование отображаемого (видимого) изображения слоёв
- общий вид (вписать в окно - fit to window);
- увеличение/уменьшение в два раза;
- увеличение выделенной области на весь экран/окно;
- "плавное" увеличение/уменьшения масштаба отображения изображения;
- перемещение по изображению по четырём направлениям
- центрирование изображение заданной точке
- запоминание позиции и переход к сохранённой позиции (закладки)?!
- Сохранение и открытие закладок - области отображения (координаты, масштаб, видимость слоёв) для последующего быстрого восстановления сохранённого ранее фрагмента.
- масштабирование отображаемого (видимого) изображения слоёв
- переключение видимости и прозрачности по каждому слою топологии СБИС
- измерение линейных размеров (инструмент линейка) по любому направлению.
- отображение на экране линейки - с выводом значений измеренных значений
- Печать на принтере изображений (всей топологии, видимой области (экрана), выделенного фрагмента)
- Сохранение (экспорт в BMP/JPG/PNG) изображений (всей топологии, видимой области (экрана), выделенного фрагмента)
- просмотр изображений слоёв
- Рисование заметок (линий, прямоугольников, рисованных линий, текста) на топологии ???
Возможные названия программ
Сшифка кадров:
- Connect frames
- Overlapping frames
- Combining frames
- crosslinking frames
Совмещение слоёв:
- Stitching layers
- Merge layers
- Overlapping layers
- Adapting
- LayersAdapt/AdaptLayers
- ImageTransform[er]
Просмотр изображений:
- ImageView[er]
- ChipView[er]
Требования к аппаратуре и размерам видеоизображений
- Комплекс программных средств должен быть оптимизирован под архитектуры "Fermi" (GF110) и "Kepler" (GK110) ф.Nvidia (CUDA v2.1 - 3.5);
- Комплекс программных средств должен полноценно функционировать на видеоускорителях с объёмом ОЗУ 1.5 GB, и предусматривать работу со слоями видеоизображения объёмом не менее 16 GB.
Интерфейс программы построения матрицы ошибок
spect_gen.exe [-x|--xmargin Value] [-y|--ymargin Value] [-s|--offset Value] [-o|--output] <input_file_name> [-h|--help] - print this text xmargin - среднее перекрытие кадров по горизонтали (обязательный) ymargin - среднее перекрытие кадров по вертикали (обязательный) offset - максимальный сдвиг относительно среднего перекрытия ( общее для горизонтального и вертикального перекрытия ) (обязательный) output - директория для полученных файлов (необязательный) <input_file_name> - имя файла, который содержит список имён файлов изображений кадров слоя топологии СБИС (обязательный) [-l|--layer] <layer_name> - Имя слоя, влияет на имя выходных файлов матрицы ошибок <layer_name>_[r|d]. (необязательный). Если не задан параметр, то именем слоя считается директория, в которой лежит input_file; Если не задано имя слоя и исходные файлы лежат в корневой директории, то выходные файлы именуются layer_[r|d]. [--cols] [--rows] [--xwin] [--ywin]
Интерфейс программы анализа матриц ошибок и построение матрицы относительных координат совмещений
error_matrix_corrextion.exe [--cols][--rows][--xmargin] [--ymargin] [--offset] [--gap] <path>
- "[-h|--help] - print this text
- [-V|--verbosity] - вывод отладочной информации. Дополнительные файлы изображений матриц ошибок.
- [-x|xmargin - среднее перекрытие кадров по горизонтали (обязательный)
- [-y|ymargin - среднее перекрытие кадров по вертикали (обязательный)
- [-s|offset - максимальный сдвиг относительно среднего перекрытия ( общее для горизонтального и вертикального перекрытия ) (обязательный)
- [-g|--gap] - ширина области исключения по внешнему периметру (краям) матрицы ошибок (необязательный, значение по умолчанию 0)
- <path> - папка, где лежат матрицы ошибок
- [-l|--layer] <layer_name> - Имя слоя, влияет на имя входных файлов матриц ошибок <layer_name>_[r|d].
Если не задан параметр, то именем слоя считается имя директории <path>. - [-m|--mode] режим расчета смещений (необязательный, значение по умолчанию 0)
- 0 (default) - анализ матриц ошибок и расчет сходимости смещений по соседним 4м кадрам
- 1 (simple) - простой режим расчета смещений
- 2 -
- 3 -