Автор: Пользователь скрыл имя, 03 Июня 2012 в 20:43, научная работа
Фазовый переход первого рода в азоте из молекулярного к немолекулярному металлическому состоянию с изменением объема около 35% при давлениях ниже 100 ГПа был впервые теоретически предсказан еще в 1985 году [1]. Выполненные позднее эксперименты по ударному сжатию и изучению свойств жидкого азота за отраженной волной показали смягчение его ударной адиабаты и обнаружили аномальное «ударное охлаждение» в районе предполагаемого протекания диссоциации [2,3]. В проведенных теоретических расчетах [4] изотерм азота методами молекулярной динамики обнаружен переход от молекулярного азота к немолекулярному, который протекает при давлении около 80-90 ГПа со значительным уменьшением объема (до 20%). Критическая температура этого фазового перехода оценена близкой к 5000 К, при более высоких температурах происходит прямая диссоциация и образование атомарного газа.
Введение………………………………………………………………………………………………….3
Описание установки………………………………………………………………………………..4
Методика протонной радиографии………………………………………………………..6
Анализ радиографического изображения…………………………………………….10
Описание программного пакета…………………………………………………………….12
Заключение……………………………………………………………………………………………..17
Список литературы………………………………………………………………………………….18
Рис.5.Трансмиссия протонного пучка.
Так
как цилиндр не претерпевает значительных
деформаций во время взрыва (за исключением
границы с газом), при обработке результатов
измерений необходимо учесть эффект наличия
контейнера и по возможности избавиться
от него, выделив только искомую плотность
исследуемого газа.
Программа
DensDetect.
Программа разработана в языковой среде Python.Были использованы модули PIL (Python Image Library), sys, os, glob, wx . Подробное описание модулей и входящих процедур находится в свободном доступе.
Входными
данными для программы являются
протонно-радиографические изображения,
полученные с ПЗС камер, установленных
на тракте. Для последующей работы с проекциями
мишени на картинках, необходима его первичная
обработка. Алгоритм обработки, описанный
выше, реализован в программе следующим
способом:
def getTrans(imgOBJ, imgBF, imgWF): # функция нахождения трансмиссии прот пучка
imgRes1 = ImageChops.difference(imgOBJ,
imgRes2 = ImageChops.difference(imgWF,
imgRes1.load()
imgRes2.load()
rA, gA, bA = imgRes1.split() #разделение полученных изображений на 3 массива для последующего почленного деления
rB, gB, bB = imgRes2.split()
rTmp
= ImageMath.eval("int(a/((float(
gTmp = ImageMath.eval("int(a/((float(
bTmp = ImageMath.eval("int(a/((float(
imgTrans = Image.merge("RGB", (rTmp, gTmp, bTmp)) #сшивка массивов в изобр трансмиссии протонного пучка
return imgTrans
def conv(name): #функция конвертирования цветовой схемы RGBA в RGB
img = Image.open(name)
img.mode = 'I'
img = img.point(lambda i:i*(1./256)).convert('RGB')
return img
Последующим этапом работы программы является построение профилей плотности в единицах трансмиссии пучка. Полученные профили сравниваются с профилем молекулярного азота (в частном случае) для определения фазового состояния вещества.
Рис.6. Профиль плотности в единицах трансмиссии пучка.
Для удобства использования
Рис.7. Внешний вид программы с загруженным изображением.
Помимо
прочего, в программный пакет
включена процедура усреднения изображений,
полученных с конкретной статичной
камеры. Алгоритм усреднения представляет
собой следующее:
#функция конвертирования цветовой схемы RGBA в RGB
for i in range(len(name)):
imgWF = Image.open(name[i])
imgWF.mode = 'I'
imgWF = imgWF.point(lambda i:i*(1./256)).convert('RGB')
#вычленение из массива пикселей R G B составляющих
for m in range(0,1024):
for j in range(0,1024):
pix = imgWF.getpixel((m,j))
rl.append(pix[0]
gl.append(pix[1]
bl.append(pix[2]
#суммирование картинок
for z in range(len(rl)):
rs[z] = rs[z] + rl[z]
bs[z] = bs[z] + bl[z]
gs[z] = gs[z] + gl[z]
#нормировка изображения
for z in range(len(rl)):
rs[z] = rs[z]/len(rl)
bs[z] = bs[z]/len(rl)
gs[z] = gs[z]/len(rl)
#сшивка полученных массивов R G B в единую картинку
put = imgWF.putpixel
for i in range (0,1024):
r = rs[i]
b = bs[i]
g = gs[i]
s = r,g,b
for j in range (0,1024):
put((i,j),s)
imgWF.save(patternf
+ "/" + "SUMM" + ".jpg")
Усреднение
необходимо для получения наилучшего
изображения и отсечения
\
Заключение.
В ходе данного УИР был разработан программный пакет, позволяющий существенно упростить обработку изображений, получаемых при помощи ПЗС камер, установленных на тракте экспериментальной линии лаборатории 118. Достигнуты результаты:
В
дальнейшем будет проведено испытание
программного пакета, доработка и исправление
недочетов (если таковые имеются). Так
же планируется (в случае необходимости)
внедрение программного пакета в систему
АПК лаборатории 118.
Список литературы.
[1] McMahan A.K., LeSar R. 1985. Phys. Rev. Lett. 54: 1929.
[2] Radousky H.B, Nellis W. J., Ross M., Hamilton D.C., Mitchell A.C. 1986. Phys. Rev. Lett. 57: 2419.
[3] Nellis W.J., Radousky H.B., Hamilton D.C., Mitchell A.C., Holmes N.C., Christianson K.B., Thiel M. 1991. J. Chem. Phys. 94: 2244.
[4] Boates B., Bonev S.A. 2009. Phys. Rev. Lett. 102: 015701.
[5]Справочная
информация о языке программирования
Python: www.python.org; www.python.ru; www.python.su; ru.wikipedia.org; docs.dvo.ru/gentoo/numarray-1.
[6]Лебедев Н.Н.
: Пояснительная записка к
«Измерение плотности ударно-сжатого газа методом протонной радиографии»