Exemplo n.º 1
0
e0      =   15.0   # keV
imgSize =  512     # pixel size for images
imgSzUm =   5.0    # image size in microns
vmrlEl  =  250     # number of el for VMRL
dose    = pc * lt  # nA sec
title   = "%g-um-Al2O3-on-%g-um-Ag-on-PET-%gkV" % (tFlm, tBlk, e0)

gitDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/mc3Scripts"
prjDir = gitDir + relPrj
datDir = prjDir + "/dat"
simDir = datDir + "/sim"
csvDir = datDir + "/csv"
msaDir = datDir + "/msa"

jmg.ensureDir(datDir)
jmg.ensureDir(csvDir)
jmg.ensureDir(simDir)
jmg.ensureDir(msaDir)

wd = gitDir + relPrj
os.chdir(wd)
pyrDir = wd + "/simCoatedOverBlock Results"

det  = findDetector("Oxford p4 05eV 2K")
# det  = findDetector("Si(Li)") # test with default
print(det)

pet   = epq.Material(epq.Composition([epq.Element.C,epq.Element.H,epq.Element.O],[0.62502,0.04196,0.069042]),epq.ToSI.gPerCC(1.37))
pet.setName("PET")
al2o3 = epq.Material(epq.Composition([epq.Element.Al,epq.Element.O],[0.5293,0.4707]),epq.ToSI.gPerCC(3.95))
Exemplo n.º 2
0
bremF   =    True  # include continuum fluorescence 
pc      =    2.5   # nA
lt      =  100.0   # sec
e0      =   15.0   # keV
imgSize =  512     # pixel size for images
imgSzUm =   5.0    # image size in microns
vmrlEl  =   40     # number of el for VMRL
dose    = pc * lt # nA sec
title   = "%gnmPd-%gnm-Cu-%gnm-Ag-on-PET-%gkV" % (tNmPd, tNmCu, tNmAg, e0)

gitDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/sim-bilayer-on-sub"
datDir = gitDir + relPrj + "/msa"
csvDir = gitDir + relPrj + "/csv"
simDir = gitDir + relPrj + "/"
jmg.ensureDir(simDir)
jmg.ensureDir(datDir)

wd = gitDir + relPrj + "/py"
os.chdir(wd)
pyrDir = wd + "/sim-trilayer-on-sub Results"

det  = findDetector("Oxford p4 05eV 2K")
print(det)

if 'defaultXtraParams' not in globals():
   defaultXtraParams = {}
if 'defaultBremFluor' not in globals():
   defaultBremFluor = False
if 'defaultCharFluor' not in globals():
   defaultCharFluor = False
Exemplo n.º 3
0
    out = { "C": (round(cInt[0]/dose, digits), round(cInt[1]/dose, digits)),
            "Si": (round(siInt[0]/dose, digits), round(siInt[1]/dose, digits))
          }

    return out


start = time.time()

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/mc3Scripts"
prjDir = gitHom + relPrj
datDir = prjDir + "/dat"
csvDir = datDir + "/csv"
jmg.ensureDir(datDir)
jmg.ensureDir(csvDir)

os.chdir(prjDir)
rptDir = prjDir + '/simulate-C-on-Si Results/'


det      = findDetector("Oxford p4 05eV 2K")
e0       =     5    # kV
nTraj    = 10000    # trajectories
lt       =   100    # sec
pc       =     0.25 # nA
tNmStepC =    10
tNmCMax  =   100

Exemplo n.º 4
0
e0 = 15.0  # keV
imgSize = 512  # pixel size for images
imgSzUm = 5.0  # image size in microns
vmrlEl = 250  # number of el for VMRL
dose = pc * lt  # nA sec
title = "%g-um-Al2O3-on-%g-um-Ag-on-PET-%gkV" % (tFlm, tBlk, e0)

gitDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/mc3Scripts"
prjDir = gitDir + relPrj
datDir = prjDir + "/dat"
simDir = datDir + "/sim"
csvDir = datDir + "/csv"
msaDir = datDir + "/msa"

jmg.ensureDir(datDir)
jmg.ensureDir(csvDir)
jmg.ensureDir(simDir)
jmg.ensureDir(msaDir)

wd = gitDir + relPrj
os.chdir(wd)
pyrDir = wd + "/simCoatedOverBlock Results"

det = findDetector("Oxford p4 05eV 2K")
# det  = findDetector("Si(Li)") # test with default
print(det)

pet = epq.Material(
    epq.Composition([epq.Element.C, epq.Element.H, epq.Element.O],
                    [0.62502, 0.04196, 0.069042]), epq.ToSI.gPerCC(1.37))
import java.util as jutil
import java.io as jio
import java.nio.charset as cs
import string

start = time.time()

homDir = os.environ['HOME']
homDir = homDir.replace('\\', '/')
rPrjDir = "/Documents/git/dtsa2Scripts"
relIn = rPrjDir + "/utility"
relOut = rPrjDir + "/sim-Eagle-XG"

inDir = homDir + relIn
outDir = homDir + relOut
jmg.ensureDir(outDir)

rptDir = inDir + '/sim-C-ctd-CorningEagleXG-15kV Results/'

spcDir = outDir + "/sim"
simDir = outDir + "/sim"
jmg.ensureDir(spcDir)
jmg.ensureDir(simDir)

bVerbose = False
det = findDetector("Oxford p4 05eV 4K")
e0 = 15.0  # kV
nTraj = 200  # trajectories
lt = 100  # sec
pc = 5.0  # nA
imgSize = 512  # pixel size for images
Exemplo n.º 6
0
import shutil
import time

import java.util as jutil
import java.io as jio
import java.nio.charset as cs
import string

start = time.time()

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts"
prjDir = gitHom + relPrj
wrkDir = prjDir + "/mc3Scripts"
csvDir = wrkDir + "/dat/csv"
jmg.ensureDir(wrkDir)

os.chdir(wrkDir)

rptDir = wrkDir + '/simulateCoatedSiO2 Results/'

spcDir = wrkDir + "/dat/spc"
jmg.ensureDir(spcDir)

det = findDetector("Oxford p4 05eV 2K")
e0 = 5  # kV
nTraj = 10000  # trajectories
lt = 60  # sec
pc = 0.25  # nA
tNmTa = 2
tNmC = 10
Exemplo n.º 7
0
import glob
import math
import shutil
import time
import java.io as jio
import dtsa2.jmGen as jmg

edsDir = os.environ['EDS_ROOT']
relDir = "/Oxford/2014-09-12-Cu-Si"
wd = edsDir + relDir + "/py"
os.chdir(wd)
pyrDir="./anaCu5eV2K Results"
datDir = edsDir + relDir + "/reports"
spcDir = datDir + "/Cu-pt6-5eV-2K"
rptDir = datDir + "/csv"
jmg.ensureDir(rptDir)
rptFil = rptDir + "/cps-per-nA-CuL-Oxford-p6-05eV-2K.csv"

sDet    = "Oxford p6 05eV 2K"
det     = findDetector(sDet)
wrkDist = 5.0 # mm

stdBas = datDir + "/stds"
jmg.ensureDir(stdBas)
stdBas = stdBas + "/" + sDet
jmg.ensureDir(stdBas)



lE0  = [5   , 7   , 10   , 15   , 20   , 30]
lPc  = [0.46, 0.60,  0.72,  0.83,  0.78,  0.78]
Exemplo n.º 8
0
e0 = 4.0
det = findDetector("Oxford p4 05eV 2K")
lThNm = [
    0.1, 5.0, 10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0,
    110.0, 115.0, 120.0, 125.0, 130.0, 135.0, 140.0, 145.0, 150.0
]
nTraj = 50000  # trajectories
dose = 5000  # nA-sec
nDigits = 6

# directories
gitDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/utility"
prjDir = gitDir + relPrj
resDir = prjDir + '/sim-zno-on-si-4kV'
jmg.ensureDir(resDir)
rptDir = prjDir + '/sim-zno-on-si-4kV Results/'

DataManager.clearSpectrumList()
start = time.time()

zno = material("ZnO", density=5.61)
si = material("Si", density=2.33)

xrts = []
trs = mc3.suggestTransitions(zno, e0)
for tr in trs:
    xrts.append(tr)

xtraParams = {}
xtraParams.update(mc3.configureXRayAccumulators(xrts, True, True, True))
Exemplo n.º 9
0
import time


import java.util as jutil
import java.io as jio
import java.nio.charset as cs
import string


start = time.time()

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts"
prjDir = gitHom + relPrj
wrkDir = prjDir + "/sim-k496"
jmg.ensureDir(wrkDir)
os.chdir(wrkDir)
przDir = wrkDir + '/prz/'
# Save spectra in sim directory
jmg.ensureDir(przDir)
# jmg.ensureDir(rptDir)


det     = findDetector("Oxford p4 05eV 4K")
e0      = 7      # kV
nSteps  = e0*100 # steps
rho     = 2.6      # sec

l_comps = [epq.Element.Al,  epq.Element.Mg, epq.Element.P, epq.Element.O]
l_mfs   = [ 0.06470,        0.06650,        0.32900,       0.5390]
k496    = jmg.create_material_from_mf(l_comps, l_mfs,  2.6, "K-496")
Exemplo n.º 10
0
lt       = 100    # spectrum live time (sec)
detNam   = "Oxford p4 05eV 2K"  #  detector name
imgSzPx  = 512
imgSzUm  = 2.0
beamSzNm = 1.0
tNmMaxC  = 100
tNmStepC = 2


homDir  = os.environ['GIT_HOME']
relDir  = "/dtsa2Scripts/estThickC"

inDir   = homDir + relDir + "/py/dtsa2"
outDir  = homDir + relDir + "/dat/csv"

jmg.ensureDir(outDir)


rptDir  = inDir + '/simCarbonOnSi Results/'

def anaConSi(spc, det, digits=2, display=False):
    """anaConSi

    Strip continuum and analyze a spectrum for C, on CuL

    Parameters
    ----------
    spc: A DTSA-II scriptable spectrum
        The spectrum to process
    det: The detector
Exemplo n.º 11
0
    out = { "C": (round(cInt[0]/dose, digits), round(cInt[1]/dose, digits)),
            "Si": (round(siInt[0]/dose, digits), round(siInt[1]/dose, digits))
          }

    return out


start = time.time()

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts"
prjDir = gitHom + relPrj
wrkDir = prjDir + "/mc3Scripts"
spcDir = prjDir + "/spc/Sirion/Oxford-P4-05eV-2K/Si-Cal-5kV"
csvDir = wrkDir + "/dat/csv"
jmg.ensureDir(wrkDir)

os.chdir(wrkDir)

rptDir = wrkDir + '/analyze-C-on-Si-spc Results/'


det = findDetector("Oxford p4 05eV 2K")
e0  = 5    # kV

DataManager.clearSpectrumList()

lPICmu = [] # an array for mean C peak integral
lPICuc = [] # an array for C peak integral uncertainty
lPISimu = [] # an array for mean Si peak integral
lPISiuc = [] # an array for Si peak integral uncertainty
Exemplo n.º 12
0
import time
import datetime

det = findDetector("Oxford p4 05eV 2K")
e0 = 10  # kV
nTraj = 10000  # trajectories
lt = 500  # sec
pc = 5.0  # nA
dose = pc * lt  # na-sec"
bSaveSpc = True
bVerbose = False

lNmCsim = [5.0, 10.0, 15.0, 20.0, 22.0, 25.0, 30.0, 35.0, 40.0]

basePath = "C:/Users/johnr/Documents/git/dtsa2scripts/sim-multilayer-calc-KRs/"
jmg.ensureDir(basePath)
csvFil = basePath + "/dtsa2-C-on-Fe3C-%g-kV-kratios-%g-traj.csv" % (e0, nTraj)


def sim_amc_coated_mat(mat, det, e0, nTraj, lt=100, pc=1.0, tc=20.0):
    """sim_amc_coated_mat(mat, det, e0, nTraj, lt=100, pc=1.0, tc=20.0)

    Use mc3 multilayer simulation to simulate an am-C-ctd specimen

    Parameters
    ----------
    mat - a dtsa material.
        Note the material must have an associated density. It should have a useful name.
    det - a dtsa detector
        Here is where we get the detector properties and calibration
    e0 - float
Exemplo n.º 13
0
pc = 1.0  # probe current (nA)
lt = 100  # spectrum live time (sec)
detNam = "Oxford p4 05eV 2K"  #  detector name
imgSzPx = 512
imgSzUm = 2.0
beamSzNm = 1.0
tNmMaxC = 100
tNmStepC = 2

homDir = os.environ['GIT_HOME']
relDir = "/dtsa2Scripts/estThickC"

inDir = homDir + relDir + "/py/dtsa2"
outDir = homDir + relDir + "/dat/csv"

jmg.ensureDir(outDir)

rptDir = inDir + '/simCarbonOnSi Results/'


def anaConSi(spc, det, digits=2, display=False):
    """anaConSi

    Strip continuum and analyze a spectrum for C, on CuL

    Parameters
    ----------
    spc: A DTSA-II scriptable spectrum
        The spectrum to process
    det: The detector
Exemplo n.º 14
0
vmrlEl   =    50
przDepUm =     1.0
imgSzUm  =     1.0
imgSize  =   512    # pix


dose    =  5000   # nA-sec
nDigits = 6


# directories
gitDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/utility"
prjDir = gitDir + relPrj
resDir = prjDir + '/sim-raft-on-zno-on-si'
jmg.ensureDir(resDir)
rptDir = prjDir + '/sim-raft-on-zno-on-si Results/'
spcDir = gitDir + '/dtsa2Scripts/spc/sim-raft-on-zno-on-si'
jmg.ensureDir(spcDir)


DataManager.clearSpectrumList()
start = time.time()

# define materials
zno  = material("ZnO", density=5.61)
si   = material("Si", density=2.33)
raft = material("C17H35O5S2P1", density=2.0)
raft.setName("RAFT polymer")

# specify the x-ray transitions
Exemplo n.º 15
0
import time

import java.util as jutil
import java.io as jio
import java.nio.charset as cs
import string


start = time.time()

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts"
prjDir = gitHom + relPrj
wrkDir = prjDir + "/mc3Scripts"
csvDir = wrkDir + "/dat/csv"
jmg.ensureDir(wrkDir)

os.chdir(wrkDir)

rptDir = wrkDir + '/simulateCoatedEagleXG Results/'

spcDir = wrkDir + "/dat/spc"
simDir = wrkDir + "/dat/sim"
jmg.ensureDir(spcDir)
jmg.ensureDir(simDir)
jmg.ensureDir(spcDir)

print(simDir)

det      = findDetector("Oxford p4 05eV 2K")
e0       =     7     # kV
Exemplo n.º 16
0
    out = {
        "C": (round(cInt[0] / dose, digits), round(cInt[1] / dose, digits)),
        "Si": (round(siInt[0] / dose, digits), round(siInt[1] / dose, digits))
    }

    return out


start = time.time()

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/mc3Scripts"
prjDir = gitHom + relPrj
datDir = prjDir + "/dat"
csvDir = datDir + "/csv"
jmg.ensureDir(datDir)
jmg.ensureDir(csvDir)

os.chdir(prjDir)
rptDir = prjDir + '/simulate-C-on-Si Results/'

det = findDetector("Oxford p4 05eV 2K")
e0 = 5  # kV
nTraj = 10000  # trajectories
lt = 100  # sec
pc = 0.25  # nA
tNmStepC = 10
tNmCMax = 100

dose = pc * lt  # na-sec"
Exemplo n.º 17
0
import dtsa2.jmMC3 as jm3

det = findDetector("Oxford p4 05eV 4K")
e0 = 15  # kV
nTraj = 10000  # trajectories
lt = 500  # sec
pc = 5.0  # nA
dose = pc * lt  # na-sec"
bSaveSpc = True

gitHomeDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/sim-K309-quant/"
datDir = gitHomeDir + relPrj
print(gitHomeDir)
print(datDir)
"""
relPrj = "/Documents/work/dtsa2/sim-C-on-Si-7kV"
datDir = homDir + relPrj + "/msa-%g" % (nTraj)
jmg.ensureDir(datDir)
rptDir = homDir + relPrj + "/sim-C-on-Si-7kV Results"
csvFil = homDir + relPrj + "/dtsa2-C-on-Si-%g-kV-kratios-%g-traj.csv" % (e0, nTraj)
"""

start = time.time()

DataManager.clearSpectrumList()
"""
From N. Ritchie 2019-12-16

K309
Density 3 g/cm³
Exemplo n.º 18
0
e0 = 20  # keV
pc = 2.5  # nA
lt = 100.0  # sec
imgSzUm = 5.0  # physical size of images in mucrons
imgSizePx = 512  # size of images in pixels
nTraj = 1000  # number of trajectories
vmrlEl = 40  # number of el for VMRL
dose = pc * lt  # nA sec

gitHom = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/mc3Scripts"
prjDir = gitHom + relPrj
datDir = prjDir + "/dat"
simDir = datDir + "/sim"

jmg.ensureDir(datDir)
jmg.ensureDir(simDir)

os.chdir(prjDir)
pyrDir = prjDir + "/mc3SphereOnSubstrate Results"

al2o3 = epq.Material(
    epq.Composition([epq.Element.Al, epq.Element.O], [0.5293, 0.4707]),
    epq.ToSI.gPerCC(3.95))
al2o3.setName("Al2O3")
c = epq.Material(epq.Composition([epq.Element.C], [1.0]),
                 epq.ToSI.gPerCC(2.62))
c.setName("C")

xrts = [transition("Al K-L3"), transition("O K-L3"), transition("C K-L3")]
Exemplo n.º 19
0
import dtsa2.mcSimulate3 as mc3
import dtsa2.jmGen as jmg
import dtsa2.jmMC3 as jm3

det = findDetector("Oxford p4 05eV 4K")
e0 = 15  # kV
nTraj = 10000  # trajectories
lt = 500  # sec
pc = 5.0  # nA
dose = pc * lt  # na-sec"
bSaveSpc = True

gitHomeDir = os.environ['GIT_HOME']
relPrj = "/dtsa2Scripts/sim-srm_1155/"
datDir = gitHomeDir + relPrj
jmg.ensureDir(datDir)
print(gitHomeDir)
print(datDir)

srm1555_path = datDir + "sim-srm_1155.msa"
"""
relPrj = "/Documents/work/dtsa2/sim-C-on-Si-7kV"
datDir = homDir + relPrj + "/msa-%g" % (nTraj)
jmg.ensureDir(datDir)
rptDir = homDir + relPrj + "/sim-C-on-Si-7kV Results"
csvFil = homDir + relPrj + "/dtsa2-C-on-Si-%g-kV-kratios-%g-traj.csv" % (e0, nTraj)
"""

start = time.time()
now = datetime.now()
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
Exemplo n.º 20
0
    xtraParams.update(mc3.configureXRayAccumulators(xrts, True, True, True))

    sim = mc3.multiFilm(layers,
                        det,
                        e0,
                        withPoisson=True,
                        nTraj=nTraj,
                        dose=dose,
                        sf=True,
                        bf=True,
                        xtraParams=xtraParams)
    sName = "%g-nm-amC-on-%s-%g-kV" % (tc, mat, e0)
    sim.rename(sName)
    sim.getProperties().setTextProperty(epq.SpectrumProperties.SpectrumComment,
                                        amcThickComment)
    return sim


start = time.time()

projDir = homDir + "\\OneDrive\\Documents\\git\\dtsa2scripts\\sim-Pyrex\\"
print(projDir)
jmg.ensureDir(projDir)

spc = sim_amc_coated_mat(std, det, e0, nTraj, lt=100, pc=1.0, tc=20.0)
display(spc)

# rptDir = homDir + relPrj + "/sim-C-on-Si-7kV Results"
# csvFil = homDir + relPrj + "/dtsa2-C-on-Si-%g-kV-kratios-%g-traj.csv" % (e0, nTraj)

###
Exemplo n.º 21
0
import glob
import math
import shutil
import time
import java.io as jio
import dtsa2.jmGen as jmg

edsDir = os.environ['EDS_ROOT']
relDir = "/Oxford/QM14-04-05A-Bauer"
wd = edsDir + relDir + "/reports/py"
os.chdir(wd)
pyrDir="./anaSiBeamCal Results"
datDir = edsDir + relDir + "/reports"
spcDir = datDir + "/Si-pt6-5eV-2K"
rptDir = datDir + "/csv"
jmg.ensureDir(rptDir)
rptFil = rptDir + "/probeCurrent.csv"

sDet    = "Oxford p6 05eV 2K"
det     = findDetector(sDet)
wrkDist = 5.0 # mm

spcBas = datDir + "/msa"
jmg.ensureDir(spcBas)

lNames  = ["Si-7kV-Beam-Calib"]


lPc = []
iCnt = 0
Exemplo n.º 22
0
umLine = nmLinWid * 1.0e-03

linMat = "Pd"
blkMat = "Cu"
lin = epq.Material(epq.Composition([epq.Element.Pd],[1.0],"Pd"), epq.ToSI.gPerCC(12.023))
blk = epq.Material(epq.Composition([epq.Element.Cu],[1.0],"Cu"), epq.ToSI.gPerCC(8.96))


det      = findDetector("Oxford p4 05eV 2K")
print(det)

homDir = os.environ['HOME']
relPrj = "/work/proj/QM15-04-07A-Ciminelli"
simDir = homDir + relPrj + "/dat/simDir"
csvDir = homDir + relPrj + "/dat/csv"
jmg.ensureDir(simDir)
jmg.ensureDir(csvDir)
# wd = homDir + relPrj + "/py/dtsa"
wd = homDir + relPrj + "/py/dtsa"
os.chdir(wd)
pyrDir = wd + "/simPdLineInCuMatrix Results"

#start clean
DataManager.clearSpectrumList()


# xrts=mc3.suggestTransitions("PdCu")

xrts = [epq.XRayTransition(epq.Element.Cu, epq.XRayTransition.LA1), epq.XRayTransition(epq.Element.Pd, epq.XRayTransition.LA1)]

xtraParams={}
import java.nio.charset as cs
import string


start = time.time()


homDir  = os.environ['HOME']
homDir  = homDir.replace('\\','/')
rPrjDir = "/Documents/git/dtsa2Scripts"
relIn   = rPrjDir + "/utility"
relOut  = rPrjDir + "/sim-Eagle-XG"

inDir   = homDir + relIn
outDir  = homDir + relOut
jmg.ensureDir(outDir)

rptDir  = inDir + '/sim-C-ctd-CorningEagleXG-15kV Results/'

spcDir = outDir + "/sim"
simDir = outDir + "/sim"
jmg.ensureDir(spcDir)
jmg.ensureDir(simDir)

bVerbose = False
det      = findDetector("Oxford p4 05eV 4K")
e0       =    15.0   # kV
nTraj    =  20000    # trajectories
lt       =    100    # sec
pc       =     5.0   # nA
imgSize  =   512     # pixel size for images