Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 13 additions & 7 deletions devel/bin/mccode-git-diff-code
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,16 @@ Drop-in replacement for `git diff --name-only BASE [TARGET]` that leaves out
A .comp/.instr file is listed only if its "code" differs between BASE and
TARGET, where code means:
- everything from the DEFINE COMPONENT / DEFINE INSTRUMENT line onward, and
- the %Example: lines of the header (mctest uses them as test definitions),
so a header edit that touches %Example: lines still triggers a test run.
- the %Example: and %Scan: lines of the header (mctest uses them as test
definitions), so a header edit that touches them still triggers a test run.
A %Scan: line includes its {}-enclosed target values, which may span
several header lines; re-wrapping those values is not a change.
Other header edits (mcdoc text, %P parameter docs, typos, units) are ignored,
and so are whitespace-only edits: indentation, blank lines, re-wrapped lines,
spacing around operators. Whitespace between two words (int a vs inta) and the
line break after a #-preprocessor line or a line with // are still significant.

For each listed .comp/.instr file, the reason (new, code, %Example) is written
For each listed .comp/.instr file, the reason (new, code, %Example/%Scan) is written
to stderr; stdout carries only the file names.

Added or renamed files are always listed; deleted files never are (nothing to
Expand All @@ -27,7 +29,8 @@ import subprocess
import sys

DEFINE = re.compile(r'^[ \t]*DEFINE[ \t]+(COMPONENT|INSTRUMENT)\b', re.M)
EXAMPLE = re.compile(r'%Example:.*')
# a %Scan: line runs on to the } closing its target values, possibly over several lines
TESTLINE = re.compile(r'%(?:Example:[^\n]*|Scan:[^\n{]*(?:\{[^}]*\}[^\n]*)?)')


def git(*args):
Expand Down Expand Up @@ -65,11 +68,14 @@ def squash(text):


def split(text):
''' (%Example lines, code body) of a .comp/.instr file, whitespace-insensitive. '''
''' (%Example/%Scan lines, code body) of a .comp/.instr file, whitespace-insensitive. '''
m = DEFINE.search(text)
if not m:
return '', squash(text) # unrecognised layout: compare everything
return squash('\n'.join(EXAMPLE.findall(text[:m.start()]))), squash(text[m.start():])
# the header's * line prefixes inside a multi-line {} value list are layout, not content
tests = [re.sub(r'\{[^}]*\}', lambda v: v.group(0).replace('*', ' '), t)
for t in TESTLINE.findall(text[:m.start()])]
return squash('\n'.join(tests)), squash(text[m.start():])


def main(argv):
Expand All @@ -85,7 +91,7 @@ def main(argv):
why = 'new'
else:
(ex0, body0), (ex1, body1) = split(old), split(new)
why = ', '.join(w for w, a, b in (('code', body0, body1), ('%Example', ex0, ex1)) if a != b)
why = ', '.join(w for w, a, b in (('code', body0, body1), ('%Example/%Scan', ex0, ex1)) if a != b)
if not why:
continue
sys.stderr.write('mccode-git-diff-code: %s (%s)\n' % (path, why))
Expand Down
2 changes: 1 addition & 1 deletion mcstas-comps/examples/LLB/LLB_6T2/LLB_6T2.instr
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ COMPONENT Pos_2 = Arm(
AT (0,0,b2mon) RELATIVE Bar_out
ROTATED (0,monoc_ang,0) ABSOLUTE

COMPONENT Monoc=Monochromator_curved(
SPLIT 10 COMPONENT Monoc=Monochromator_curved(
zwidth=0.015, yheight=0.1, gap=0.0005,
NH=7, NV=1, mosaich=25.0, mosaicv=25.0,
reflect="HOPG.rfl", transmit="HOPG.trm",
Expand Down
3 changes: 3 additions & 0 deletions mcstas-comps/examples/Risoe/TAS1_C1/TAS1_C1.instr
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
* detector is at the sample position.
*
* %Example: PHM=-37.077 Detector: sng_I=0.000429426
* %Scan: mcrun TAS1_C1.instr PHM=-38.077,-36.077 -N11 -n1e6 Detector: sng_I={
* 1.7037e-05,5.77737e-05,0.000131759,0.000247282,0.00036353,0.000415802,0.000377557,0.000267179,
* 0.000149367,5.89201e-05,1.85848e-05 }
*
* %Parameters
* PHM: [deg] Monochromator arm angle, aka A1
Expand Down
6 changes: 5 additions & 1 deletion mcstas-comps/examples/Risoe/TAS1_C1_Tilt/TAS1_C1_Tilt.instr
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,16 @@
* detector is at the sample position and there is no analyzer.
*
* %Example: TTM=-74 Detector: sng_I=0.000405056
* %Scan: mcrun TAS1_C1_Tilt.instr OMC1=-44.5,55.5 -N21 -n1e6 Detector: sng_I={
* 7.82478e-05,0.000118605,0.000165766,0.000222136,0.000277334,0.000324033,0.00036983,0.000407361,
* 0.000420118,0.000412682,0.000402763,0.000373695,0.000323706,0.000280374,0.000224993,0.000165908,
* 0.000121172,8.11465e-05,4.92901e-05,2.88144e-05,1.46245e-05 }
*
* %Parameters
* PHM: [deg] Monochromator arm angle, aka A1
* TTM: [deg] Monochromator take-off angle, aka A2
* C1: [min] Collimator 1 aperture (mono-sample arm)
* OMC1: [deg] Tilt angle of the Collimator 1
* OMC1: [arcmin] Tilt angle of the Collimator 1
*
* %Link
* The McStas User manual
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,17 @@
* sample is a powder and there is no analyzer.
*
* %Example: PHM=-37.077 Detector: sng_I=4.50892e-07
* %Scan: mcrun TAS1_Diff_Powder.instr TT=32.92,34.32 -N15 -n1e6 Detector: sng_I={
* 3.44621e-09,1.42523e-08,3.66193e-08,9.83779e-08,1.88888e-07,3.09967e-07,4.32565e-07,5.50027e-07,
* 5.59591e-07,5.02795e-07,3.84587e-07,2.46907e-07,1.35535e-07,6.38448e-08,2.13895e-08 }
*
* %Parameters
* PHM: [deg] Monochromator arm angle, aka A1
* TTM: [deg] Monochromator take-off angle, aka A2
* TT: [deg] Take-off angle at the sample position, aka A4
* TTA: [deg] Take-off angle at the analyzer position, aka A6
* C1: [min] Collimator 1 aperture (mono-sample arm)
* OMC1: [deg] Tilt angle of the Collimator 1
* OMC1: [arcmin] Tilt angle of the Collimator 1
* C2: [min] Collimator 2 aperture (sample-ana arm)
* C3: [min] Collimator 3 aperture (ana-detector arm)
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,16 @@
* sample is a slit and there is no analyzer.
*
* %Example: C1=30 TT=0 Detector: sng_I=2e-5
* %Scan: mcrun TAS1_Diff_Slit.instr C1=30 TT=-0.6,0.6 -N13 -n1e6 Detector: sng_I={
* 6.85677e-07,2.11237e-06,4.51499e-06,8.20823e-06,1.39162e-05,1.73145e-05,2.01992e-05,2.05377e-05,
* 1.71222e-05,1.22857e-05,8.94974e-06,5.09308e-06,2.51101e-06 }
*
* %Parameters
* PHM: [deg] Monochromator arm angle, aka A1
* TTM: [deg] Monochromator take-off angle, aka A2
* TT: [deg] Take-off angle at the sample position, aka A4
* C1: [min] Collimator 1 aperture (mono-sample arm)
* OMC1: [deg] Tilt angle of the Collimator 1
* OMC1: [arcmin] Tilt angle of the Collimator 1
* C2: [min] Collimator 2 aperture (sample-ana arm)
* C3: [min] Collimator 3 aperture (ana-detector arm)
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,18 @@
* sample is a vanadium cylinder and there is no analyzer.
*
* %Example: PHM=-37.077 Detector: sng_I=1.95173e-09
* %Scan: mcrun TAS1_Diff_Vana.instr TT=31.52,35.52 -N21 -n1e6 Detector: sng_I={
* 1.8001e-09,1.87932e-09,1.86258e-09,1.89395e-09,1.86904e-09,1.86482e-09,1.85878e-09,1.87728e-09,
* 1.81479e-09,1.84234e-09,1.91997e-09,1.89089e-09,1.82982e-09,1.9059e-09,1.88333e-09,1.775e-09,
* 1.80894e-09,1.99095e-09,1.89532e-09,1.94438e-09,1.94377e-09 }
*
* %Parameters
* PHM: [deg] Monochromator arm angle, aka A1
* TTM: [deg] Monochromator take-off angle, aka A2
* TT: [deg] Take-off angle at the sample position, aka A4
* TTA: [deg] Take-off angle at the analyzer position, aka A6
* C1: [min] Collimator 1 aperture (mono-sample arm)
* OMC1: [deg] Tilt angle of the Collimator 1
* OMC1: [arcmin] Tilt angle of the Collimator 1
* C2: [min] Collimator 2 aperture (sample-ana arm)
* C3: [min] Collimator 3 aperture (ana-detector arm)
*
Expand Down
8 changes: 7 additions & 1 deletion mcstas-comps/examples/Risoe/TAS1_Powder/TAS1_Powder.instr
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
* The sample is a powder and the analyzer is a single plate.
*
* %Example: PHM=-37.077 Detector: sng_I=2.26723e-07
* With TTA=0 the detector looks straight through the analyzer, so an OMA scan shows
* a transmission dip where the analyzer is at its Bragg angle:
* %Scan: mcrun TAS1_Powder.instr OMA=-19.45,-15.45 -N21 -n1e6 Detector: sng_I={
* 4.37937e-07,4.53735e-07,4.60594e-07,4.49352e-07,4.43857e-07,4.36457e-07,4.22756e-07,4.15322e-07,
* 3.49642e-07,2.82077e-07,2.31752e-07,2.48424e-07,3.1068e-07,3.96655e-07,4.27444e-07,4.42215e-07,
* 4.49148e-07,4.60529e-07,4.36828e-07,4.39458e-07,4.52569e-07 }
*
* %Parameters
* PHM: [deg] Monochromator rotation angle, aka A1
Expand All @@ -33,7 +39,7 @@
* OMA: [deg] Analyzer rotation angle, aka A5
* TTA: [deg] Take-off angle at the analyzer position, aka A6
* C1: [min] Collimator 1 aperture (mono-sample arm)
* OMC1: [deg] Tilt angle of the Collimator 1
* OMC1: [arcmin] Tilt angle of the Collimator 1
* C2: [min] Collimator 2 aperture (sample-ana arm)
* C3: [min] Collimator 3 aperture (ana-detector arm)
*
Expand Down
8 changes: 7 additions & 1 deletion mcstas-comps/examples/Risoe/TAS1_Vana/TAS1_Vana.instr
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@
* The sample is a vanadium and the analyzer is a single plate.
*
* %Example: PHM=-37.077 Detector: sng_I=1.11099e-09
* With TTA=0 the detector looks straight through the analyzer, so an OMA scan shows
* a transmission dip where the analyzer is at its Bragg angle:
* %Scan: mcrun TAS1_Vana.instr OMA=-19.45,-15.45 -N21 -n1e6 Detector: sng_I={
* 1.81292e-09,1.90855e-09,1.8668e-09,1.86678e-09,1.85029e-09,1.834e-09,1.76611e-09,1.60322e-09,
* 1.33626e-09,1.0796e-09,1.09548e-09,1.2646e-09,1.46433e-09,1.72966e-09,1.83299e-09,1.77587e-09,
* 1.82133e-09,1.94325e-09,1.88317e-09,1.89597e-09,1.94066e-09 }
*
* %Parameters
* PHM: [deg] Monochromator rotation angle, aka A1
Expand All @@ -33,7 +39,7 @@
* OMA: [deg] Analyzer rotation angle, aka A5
* TTA: [deg] Take-off angle at the analyzer position, aka A6
* C1: [min] Collimator 1 aperture (mono-sample arm)
* OMC1: [deg] Tilt angle of the Collimator 1
* OMC1: [arcmin] Tilt angle of the Collimator 1
* C2: [min] Collimator 2 aperture (sample-ana arm)
* C3: [min] Collimator 3 aperture (ana-detector arm)
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,11 @@
*
* %Example: -y Detector: det_I=2.2537e-07
*
* Scan Example: SESANS_Delft -n 1000000 -N 31 L0=2.165 DL=0.02 By=0,0.0468
* %Scan: mcrun SESANS_Delft.instr L0=2.165 DL=0.02 By=0,0.0468 -N31 -n1e6 Detector: det_I={
* 2.35556e-07,2.35296e-07,2.30432e-07,2.25294e-07,2.20061e-07,2.13707e-07,2.11276e-07,2.05654e-07,
* 2.03486e-07,2.00872e-07,1.99138e-07,2.00791e-07,1.99118e-07,1.98852e-07,1.98976e-07,1.99064e-07,
* 1.98964e-07,1.99602e-07,1.98235e-07,2.00064e-07,1.99617e-07,1.99683e-07,1.98427e-07,1.98624e-07,
* 1.97647e-07,1.98342e-07,1.98835e-07,1.99153e-07,1.99708e-07,1.99172e-07,1.98348e-07 }
*
* %P
* <parameter1>: [<unit>] <parameter1 description>
Expand Down
21 changes: 12 additions & 9 deletions mcstas-comps/examples/Templates/Tomography/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,22 @@

```text
Instrument to study tomographic imaging by means of the feature of OFF shape samples.
The sample (geometry, an OFF file, default socket.off) is rotated by omega around the
vertical axis, and the transmitted beam is recorded on a 2D detector (monitor).

Example: mcrun Tomography.instr offfile=bunny.off -n1e4 -N18 omega=0,340 -d TomoScan
(Note that to achieve proper statistics for tomographic reconstruction, MUCH higher ncounts
A tomography is a scan of omega over a full rotation, e.g.
mcrun Tomography.instr omega=0,355 -N72 -n1e7 -d TomoScan
(to achieve proper statistics for tomographic reconstruction, MUCH higher ncounts
are needed)

Use the provided Matlab tomo_recon.m function (requires imaging toolbox, PGPLOT output data
and a Unix/Mac) in the tools/matlab folder to reconstruct a 3D volume of the object. Use e.g.
isosurface to do thresholding for extraction of the object surface.
Use the provided tomo_recon.py (numpy + matplotlib) in this folder to reconstruct a 3D
volume of the object from the scan directory: python tomo_recon.py TomoScan [--save]
```

## Examples

- **Test: omega=0 Detector: monitor_I=2.23492e-09**
- **Test: omega=0 Detector: monitor_I=9.37708e-10**
- **Scan: mcrun Tomography.instr omega=0,355 -N72 -n1e6 Detector: monitor_I={72 values}**

## Input parameters

Expand All @@ -41,9 +44,9 @@ Parameters in **boldface** are required; the others are optional.
| div_h | deg | Source horisontal divergence (angular width) | 1e-4 |
| source_w | m | Source width | 0.4 |
| source_h | m | Source height | 0.2 |
| det_w | m | Detector width | 0.4 |
| det_h | m | Detector height | 0.2 |
| opts | string | Monitor_nD options string | "x bins=80 y bins=40" |
| det_w | m | Detector width | 0.25 |
| det_h | m | Detector height | 0.15 |
| opts | string | Monitor_nD options string | "x bins=128 y bins=64" |

## Links

Expand Down
26 changes: 19 additions & 7 deletions mcstas-comps/examples/Templates/Tomography/Tomography.instr
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,28 @@
*
* %Description
* Instrument to study tomographic imaging by means of the feature of OFF shape samples.
* The sample (geometry, an OFF file, default socket.off) is rotated by omega around the
* vertical axis, and the transmitted beam is recorded on a 2D detector (monitor).
*
* Example: mcrun Tomography.instr offfile=bunny.off -n1e4 -N18 omega=0,340 -d TomoScan
* (Note that to achieve proper statistics for tomographic reconstruction, MUCH higher ncounts
* A tomography is a scan of omega over a full rotation, e.g.
* mcrun Tomography.instr omega=0,355 -N72 -n1e7 -d TomoScan
* (to achieve proper statistics for tomographic reconstruction, MUCH higher ncounts
* are needed)
*
* Use the provided Matlab tomo_recon.m function (requires imaging toolbox, PGPLOT output data
* and a Unix/Mac) in the tools/matlab folder to reconstruct a 3D volume of the object. Use e.g.
* isosurface to do thresholding for extraction of the object surface.
* Use the provided tomo_recon.py (numpy + matplotlib) in this folder to reconstruct a 3D
* volume of the object from the scan directory: python tomo_recon.py TomoScan [--save]
*
* %Example: omega=0 Detector: monitor_I=2.23492e-09
* %Example: omega=0 Detector: monitor_I=9.37708e-10
* %Scan: mcrun Tomography.instr omega=0,355 -N72 -n1e6 Detector: monitor_I={
* 9.42128e-10,9.25881e-10,9.14476e-10,9.04288e-10,8.94769e-10,8.8652e-10,8.84254e-10,8.86881e-10,
* 8.87397e-10,8.86793e-10,8.80893e-10,8.80094e-10,8.82899e-10,8.84653e-10,8.8854e-10,8.9252e-10,
* 9.01629e-10,9.10865e-10,9.22842e-10,9.09788e-10,8.99241e-10,8.92795e-10,8.87909e-10,8.83615e-10,
* 8.80372e-10,8.81549e-10,8.8362e-10,8.86581e-10,8.88443e-10,8.89103e-10,8.85436e-10,8.86795e-10,
* 8.92286e-10,9.02972e-10,9.15912e-10,9.25596e-10,9.39192e-10,9.28645e-10,9.15208e-10,9.03769e-10,
* 8.93097e-10,8.87378e-10,8.87768e-10,8.88077e-10,8.88221e-10,8.88865e-10,8.84663e-10,8.81642e-10,
* 8.83464e-10,8.85594e-10,8.8875e-10,8.90938e-10,8.98263e-10,9.09941e-10,9.22377e-10,9.11957e-10,
* 8.98938e-10,8.90529e-10,8.85399e-10,8.83245e-10,8.80727e-10,8.78931e-10,8.82134e-10,8.84583e-10,
* 8.84924e-10,8.87263e-10,8.88867e-10,8.87931e-10,8.92295e-10,9.00247e-10,9.15281e-10,9.26476e-10 }
*
* %Parameters
* geometry: [string] Name of the OFF file describing the sample shape
Expand All @@ -42,7 +54,7 @@
*
* %End
*******************************************************************************/
DEFINE INSTRUMENT Tomography(string geometry="socket.off", omega=0, sigma_abs=100, frac_scatt=0, div_v=1e-4, div_h=1e-4, source_w=0.4, source_h=0.2, det_w=0.4, det_h=0.2, string opts="x bins=80 y bins=40")
DEFINE INSTRUMENT Tomography(string geometry="socket.off", omega=0, sigma_abs=100, frac_scatt=0, div_v=1e-4, div_h=1e-4, source_w=0.4, source_h=0.2, det_w=0.25, det_h=0.15, string opts="x bins=128 y bins=64")
DEPENDENCY " -DUSE_OFF "

TRACE
Expand Down
71 changes: 71 additions & 0 deletions mcstas-comps/examples/Templates/Tomography/tomo_recon.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
#!/usr/bin/env python3
"""Reconstruct a volume from a Tomography.instr omega scan, e.g.

mcrun Tomography.instr omega=0,350 -N36 -n1e7 -d TomoScan
python tomo_recon.py TomoScan

Filtered back-projection (ramp*Hann filter, like Matlab iradon's 'hann'),
one sinogram per detector row. Shows 3 central slices; --save writes vol.npy.
Python port of tools/matlab/tomo_recon.m (PW, 20080620).
"""
import glob, os, sys
import numpy as np
import matplotlib.pyplot as plt


def header(path, key):
for line in open(path):
if line.startswith('# ' + key):
return line[len(key) + 2:].strip()


def iradon(sino, theta):
"""sino: (nbins, nproj), theta in degrees -> (nbins, nbins) slice."""
n = sino.shape[0]
pad = 1 << int(np.ceil(np.log2(2 * n)))
f = np.fft.fftfreq(pad)
h = 2 * np.abs(f) * (1 + np.cos(2 * np.pi * f)) / 2
filt = np.fft.ifft(np.fft.fft(sino, pad, axis=0) * h[:, None], axis=0).real[:n]
x = np.arange(n) - (n - 1) / 2
X, Y = np.meshgrid(x, -x)
img = np.zeros((n, n))
for p, t in zip(filt.T, np.deg2rad(theta)):
img += np.interp(X * np.cos(t) + Y * np.sin(t), x, p, left=0, right=0)
return img * np.pi / (2 * len(theta))


def main(datadir, save=False):
dat = os.path.join(datadir, 'mccode.dat')
nproj = int(header(dat, 'Numpoints:'))
lo, hi = map(float, header(dat, 'xlimits:').split())
theta = np.linspace(lo, hi, nproj)

mons = []
for j in range(nproj):
f = glob.glob(os.path.join(datadir, str(j), '*.x_y'))[0]
I = np.loadtxt(f)
mons.append(I[:len(I) // 3]) # I block only, rows = y slices
geometry = header(f, 'Param: geometry=')
mons = np.array(mons) # (nproj, nslice, nbins)
pos = mons[mons > 0]
mons = np.maximum(mons, pos.min() if pos.size else 1) # avoid log(0)

vol = np.stack([iradon(np.log(m.max() / m).T, theta)
for m in mons.transpose(1, 0, 2)], axis=2) # (x, z, y)
if save:
np.save(os.path.join(datadir, 'vol.npy'), vol)

title = 'slice from %s, Hann filtered' % geometry
c = [s // 2 for s in vol.shape]
fig, ax = plt.subplots(1, 3, figsize=(15, 5))
for a, img, name in zip(ax, (vol[c[0]].T, vol[:, c[1]].T, vol[:, :, c[2]]), 'xyz'):
a.imshow(img, origin='lower')
a.set_title('Central %s %s' % (name, title))
plt.show()
return vol


if __name__ == '__main__':
if len(sys.argv) < 2 or not os.path.isdir(sys.argv[1]):
sys.exit('usage: tomo_recon.py <mcrun scan dir> [--save]')
main(sys.argv[1], '--save' in sys.argv)
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@
* MeanPolLambda_montior is used to monitor beam polarisation.
*
* Example: mcrun SE_example.instr dBz=-0.0001,0.0001 -N41 -n1e5
* %Scan: mcrun SE_example.instr dBz=-0.0001,0.0001 -N41 -n1e5 Detector: detector_I={
* 86.04,101.892,108.731,94.7348,89.0012,85.6308,108.935,102.351,69.0694,92.3323,
* 136.083,64.8421,57.8734,158.608,99.3713,18.8129,133.474,164.129,20.9553,74.1501,
* 193.637,76.1058,20.3687,168.351,133.934,18.4337,110.268,161.186,59.7896,65.6851,
* 141.567,96.8757,64.2307,106.846,110.065,90.8057,100.937,92.2149,106.729,106.231,
* 85.406 }
*
* %Parameters
* POL_ANGLE: [deg] Reflection angle of polarizer/analyzer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,13 @@
* Pol_FieldBox is used to define guidefields and flippers.
* MeanPolLambda_montior is used to monitor beam polarisation.
*
* Example: mcrun SE_example2.instr dBz=-0.0001,0.0001 -N41 -n1e5
* %Scan: mcrun SE_example2.instr dBz=-0.0001,0.0001 -N41 -n1e5 Detector: detector_I={
* 131.576,155.634,159.227,142.21,139.368,130.51,165.979,155.359,
* 99.6514,142.272,209.645,95.7382,90.1825,237.694,146.859,28.2776,
* 199.631,244.785,32.2439,112.725,277.63,115.369,29.3693,243.049,
* 201.203,28.3267,163.182,240.944,90.531,95.7656,212.13,145.286,
* 93.5099,161.98,164.791,134.604,147.311,143.726,153.511,155.375,
* 129.977 }
*
* %Parameters
* POL_ANGLE: [deg] Reflection angle of polarizer/analyzer
Expand Down
Loading
Loading