Skip to content
Snippets Groups Projects
Commit 742bf485 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

+ example Resolution.py

parent 5fe6c1b6
No related branches found
No related tags found
1 merge request!2022replace detector resolution example (#769)
#!/usr/bin/env python3
"""
Basic GISAS from oriented boxes, with different detector resolutions.
"""
import bornagain as ba
from bornagain import ba_plot as bp, deg, nm
def get_sample():
"""
Dilute random assembly of oriented boxes on a substrate.
"""
from bornagain import std_samples
mat = ba.RefractiveMaterial("Particle", 6e-4, 2e-08)
ff = ba.Box(30*nm, 30*nm, 30*nm)
particle = ba.Particle(mat, ff)
return std_samples.substrate_plus_particle(particle)
if __name__ == '__main__':
sample = get_sample()
# Beam
wavelength = 0.1*nm
alpha_i = 0.2*deg
beam = ba.Beam(1, wavelength, alpha_i)
# Detector
nx = 142
ny = 200
detector = ba.FlatDetector(nx, ny, 107, 140, beam, ba.FlatDetector.X,
2000, 0, -140/2)
results = []
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("no resolution")
results.append(result)
detector.setResolutionFunction(
ba.ResolutionFunction2DGaussian(5, 1))
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("resolution 5, 1")
results.append(result)
detector.setResolutionFunction(
ba.ResolutionFunction2DGaussian(5, 5))
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("resolution 5, 5")
results.append(result)
bp.make_plot_row(results)
bp.show_or_export()
#!/usr/bin/env python3
"""
Basic GISAS from oriented boxes, with different detector resolutions.
"""
import bornagain as ba
from bornagain import ba_plot as bp, deg, nm
def get_sample():
"""
Dilute random assembly of oriented boxes on a substrate.
"""
from bornagain import std_samples
mat = ba.RefractiveMaterial("Particle", 6e-4, 2e-08)
ff = ba.Box(30*nm, 30*nm, 30*nm)
particle = ba.Particle(mat, ff)
return std_samples.substrate_plus_particle(particle)
if __name__ == '__main__':
sample = get_sample()
# Beam
wavelength = 0.1*nm
alpha_i = 0.2*deg
beam = ba.Beam(1, wavelength, alpha_i)
# Detector
nx = 7
ny = 11
detector = ba.FlatDetector(nx, ny, 107, 140, beam, ba.FlatDetector.X,
2000, 0, -140/2)
results = []
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("no resolution")
results.append(result)
detector.setResolutionFunction(
ba.ResolutionFunction2DGaussian(5, 1))
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("resolution 5, 1")
results.append(result)
detector.setResolutionFunction(
ba.ResolutionFunction2DGaussian(5, 5))
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("resolution 5, 5")
results.append(result)
bp.make_plot_row(results)
bp.show_or_export()
#!/usr/bin/env python3
"""
Basic GISAS from oriented boxes, with different detector resolutions.
"""
import bornagain as ba
from bornagain import ba_plot as bp, deg, nm
def get_sample():
"""
Dilute random assembly of oriented boxes on a substrate.
"""
from bornagain import std_samples
mat = ba.RefractiveMaterial("Particle", 6e-4, 2e-08)
ff = ba.Box(30*nm, 30*nm, 30*nm)
particle = ba.Particle(mat, ff)
return std_samples.substrate_plus_particle(particle)
if __name__ == '__main__':
sample = get_sample()
# Beam
wavelength = 0.1*nm
alpha_i = 0.2*deg
beam = ba.Beam(1, wavelength, alpha_i)
# Detector
nx = <%= sm ? 7 : 142 %>
ny = <%= sm ? 11 : 200 %>
detector = ba.FlatDetector(nx, ny, 107, 140, beam, ba.FlatDetector.X,
2000, 0, -140/2)
results = []
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("no resolution")
results.append(result)
detector.setResolutionFunction(
ba.ResolutionFunction2DGaussian(5, 1))
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("resolution 5, 1")
results.append(result)
detector.setResolutionFunction(
ba.ResolutionFunction2DGaussian(5, 5))
simulation = ba.ScatteringSimulation(beam, sample, detector)
result = simulation.simulate()
result.setTitle("resolution 5, 5")
results.append(result)
bp.make_plot_row(results)
bp.show_or_export()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment