CUDA (Проект)/Техническое задание
Материал из Wiki
Проект 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 -