«Бог не меняет того, что (происходит) с людьми, пока они сами не изменят своих помыслов.» Коран, Сура 12:13

CUDA (Проект)/Техническое задание — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
м
м (Интерфейс программы анализа матриц ошибок и построение матрицы относительных координат совмещений)
 
(не показаны 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} -> PrjDDS -> {Export}  [shape="vee"]
+
InputImage -> CombinePrg -> ImagesDDS -> {LayoutViewer ; MergeLayers}
Export -> ImageBMP [shape="vee"]
+
LayoutViewer -> PrjDDS [label="Config"]
LayoutViewer -> MergeLayers [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) ====
+
 
 +
==== Программа коррекции отдельных слоёв (MergeLayers) ====
  
 
* загружает изображения всех слоёв топологии СБИС
 
* загружает изображения всех слоёв топологии СБИС
Строка 98: Строка 146:
 
*** на произвольный угол, заданный пользователем, по часовой либо против часовой стрелки;
 
*** на произвольный угол, заданный пользователем, по часовой либо против часовой стрелки;
 
*** автоматическое выравнивание (поворот) при задании пользователем двух точек, которые должны лежать на одной прямой (вертикальной или горизонтальной);
 
*** автоматическое выравнивание (поворот) при задании пользователем двух точек, которые должны лежать на одной прямой (вертикальной или горизонтальной);
** поворот изображения всех слоёв на угол ±90°, 180°;
+
** поворот изображения всех слоёв (либо одного слоя?) на угол ±90°, 180°;
** исправление трапеции, при задании пользователем четырёх точек углов многоугольника;
+
** "исправление" трапеции, при задании пользователем четырёх точек углов многоугольника;
 
** масштабирование видеоизображения для совмещения отдельных слоёв (изменение линейных размеров)
 
** масштабирование видеоизображения для совмещения отдельных слоёв (изменение линейных размеров)
 
** сдвиг слоёв друг относительно друга
 
** сдвиг слоёв друг относительно друга
  
* Экспорт слоёв в формат Photopreview/GleW
+
* Экспорт слоёв в формат Photopreview/GleW + BMP
  
  
==== Программа просмотра слоёв (Viewer) ====
+
==== Программа просмотра слоёв (DDSView[er]) ====
  
==== Возможные названия ====
+
* загружает изображения всех слоёв топологии СБИС (DDS+Config | BMP+Config | JPG+Config?? | BMP+Glew | BMP + Photopreview)
* Stitching layers
+
* осуществляет следующие действия над видеоизображением:
* Merge layers
+
** просмотр изображений слоёв
* Overlapping layers
+
*** масштабирование отображаемого (видимого) изображения слоёв
 +
**** общий вид (вписать в окно - fit to window);
 +
**** увеличение/уменьшение в два раза;
 +
**** увеличение выделенной области на весь экран/окно;
 +
**** "плавное" увеличение/уменьшения масштаба отображения изображения;
 +
*** перемещение по изображению по четырём направлениям
 +
*** центрирование изображение заданной точке
 +
*** запоминание позиции и переход к сохранённой позиции (закладки)?!
 +
**** Сохранение и открытие закладок - области отображения (координаты, масштаб, видимость слоёв) для последующего быстрого восстановления сохранённого ранее фрагмента.
 +
** переключение видимости и прозрачности по каждому слою топологии СБИС
 +
** измерение линейных размеров (инструмент линейка) по любому направлению.
 +
*** отображение на экране линейки - с выводом значений измеренных значений
 +
** Печать на принтере изображений (всей топологии, видимой области (экрана), выделенного фрагмента)
 +
** Сохранение (экспорт в BMP/JPG/PNG) изображений (всей топологии, видимой области (экрана), выделенного фрагмента)
 +
* ''Рисование заметок (линий, прямоугольников, рисованных линий, текста) на топологии {{Фио|???}}''
 +
 
 +
==== Возможные названия программ ====
 +
 
 +
Сшифка кадров:
 
* Connect frames
 
* Connect frames
 
* Overlapping frames
 
* Overlapping frames
 
* Combining frames
 
* Combining frames
 
* crosslinking frames
 
* crosslinking frames
* adapting
+
 
 +
Совмещение слоёв:
 +
* 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

Литература

Содержание

Основные требования

Программные средства предназначены для:

  • сборки видеоизображения топологического слоя СБИС из отдельных кадров, полученных с помощью микроскопа.
  • автоматизированного совмещения различных топологических слоёв одной СБИС с устранением линейных искажений.
  • визуального просмотра полученных изображений
  • экспорта изображений слоя в формат программ PhotoPreview и Glew.


[svg]


Форматы данных

Входные форматы:

  • форматы видеоизображений: 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)
      • возможно, поворот отдельного кадра ???
    • Размеры отдельного кадра в пикселях по горизонтали (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]

Требования к аппаратуре и размерам видеоизображений

  1. Комплекс программных средств должен быть оптимизирован под архитектуры "Fermi" (GF110) и "Kepler" (GK110) ф.Nvidia (CUDA v2.1 - 3.5);
  2. Комплекс программных средств должен полноценно функционировать на видеоускорителях с объёмом ОЗУ 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 -