-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathParallelProcessing_test.py
73 lines (47 loc) · 2.62 KB
/
ParallelProcessing_test.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from ParallelProcessing import Scan, AzintConfig, AzimuthalIntegrator
import numpy as np
class TestScan:
scan=Scan(name='Sample_scan_string',
poni_file='./test_data/calib.poni',
mask_file='./test_data/mask.npy')
def test_mask(self):
assert isinstance(self.scan.mask, np.ndarray)
assert self.scan.mask.ndim==2
assert self.scan.mask.shape == (2167, 2070)
assert self.scan.mask.dtype == np.dtype('uint8')
class TestAzintConfig:
# Sample values
sample_scan = Scan(name="Sample_scan_string", poni_file="./test_data/calib.poni", mask_file="./test_data/mask.npy")
shape = (2167, 2070)
pixel_size=75e-6
radial_bins = 1000
azimuth_bins = None
polarization_factor = 0.95
config = AzintConfig(sample=sample_scan, shape=shape, pixel_size=pixel_size, radial_bins=radial_bins,
azimuth_bins=azimuth_bins, polarization_factor=polarization_factor)
def test_azint_config_creation(self):
assert self.config.poni_file == self.sample_scan.poni_file
assert self.config.mask is self.sample_scan.mask
def test_create_integrator(self):
# Create AzimuthalIntegrator instance
integrator = self.config.create_integrator()
# Test if the integrator is created correctly
assert isinstance(integrator, AzimuthalIntegrator)
def test_azint_config_default_values(self):
# Check if default values are set correctly
assert self.config.n_splitting == 10
assert self.config.unit == 'q'
assert self.config.solid_angle is True
assert self.config.error_model is None
def test_azint_config_azimuth_bins(self):
azimuth_bins_number = 360 #number azimuthal bins
config = AzintConfig(sample=self.sample_scan, shape=self.shape, pixel_size=self.pixel_size,
radial_bins=self.radial_bins, azimuth_bins=azimuth_bins_number,
polarization_factor=self.polarization_factor)
assert config.azimuth_bins == azimuth_bins_number
# Test when azimuth_bins is a sequence defining bin edges
azimuth_bins_sequence = [0, 90, 180, 270, 360] # Set as a sequence defining bin edges
config = AzintConfig(sample=self.sample_scan, shape=self.shape, pixel_size=self.pixel_size,
radial_bins=self.radial_bins, azimuth_bins=azimuth_bins_sequence,
polarization_factor=self.polarization_factor)
assert config.azimuth_bins == azimuth_bins_sequence