mimical 0.0.7__py3-none-any.whl → 0.0.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
mimical/fitting/fitter.py CHANGED
@@ -39,7 +39,7 @@ class mimical(object):
39
39
  A 3D array of image data with slices for each filter. Each image
40
40
  must be the same shape.
41
41
 
42
- filt_list : list - str
42
+ filt_list : str or list
43
43
  A list of path strings to the filter transmission curve files, relative
44
44
  to the current working directory. Must be in ascending order with effective wavelength.
45
45
 
@@ -60,6 +60,14 @@ class mimical(object):
60
60
 
61
61
  def __init__(self, id, images, filt_list, psfs, user_prior, astropy_model=models.Sersic2D(), pool=None, timeout=3600):
62
62
 
63
+ # Helper when only one image is passed
64
+ if len(images.shape)==2:
65
+ images = np.array(([images]))
66
+ if (type(filt_list).__name__=='str') | (type(filt_list).__name__=='str_'):
67
+ filt_list = [filt_list]
68
+ if len(psfs.shape)==2:
69
+ psfs = np.array(([psfs]))
70
+
63
71
  self.id = id
64
72
 
65
73
  print(f"Fitting object {id}")
@@ -88,6 +96,7 @@ class mimical(object):
88
96
 
89
97
 
90
98
 
99
+
91
100
  def lnlike(self, param_dict):
92
101
  """ Returns the log-likelihood for a given parameter vector. """
93
102
 
@@ -165,7 +174,7 @@ class mimical(object):
165
174
 
166
175
  if self.success != True:
167
176
 
168
- print("Sampling failed (timout).")
177
+ print("Sampling failed (timeout).")
169
178
  print(" ")
170
179
  return {}
171
180
 
@@ -195,7 +204,7 @@ class mimical(object):
195
204
 
196
205
  def plot_model(self):
197
206
  if self.success != True:
198
- print(f'Failed sampling - cannot plot model for {self.id}.')
207
+ print(f'Failed sampling, cannot plot model for {self.id}.')
199
208
  else:
200
209
  # Plot and save the median-parameter fit
201
210
  Plotter().plot_median(self.images, self.wavs, self.convolved_models, self.samples, list(self.fitter_prior.keys), self.prior_handler)
@@ -57,16 +57,31 @@ class Plotter(object):
57
57
 
58
58
  median_models = np.median(models, axis=0)
59
59
 
60
- for i in range(len(wavs)):
61
60
 
62
- v = np.percentile(images[-1], 99.9)
61
+ if len(wavs)==1:
62
+ for i in range(len(wavs)):
63
+ v = np.percentile(images[-1], 99.9)
63
64
 
64
- axes[0,i].imshow(images[i], vmax=v, vmin=-v)
65
- axes[0,i].set_axis_off()
65
+ axes[0].imshow(images[i], vmax=v, vmin=-v)
66
+ axes[0].set_axis_off()
66
67
 
67
- axes[1,i].imshow(median_models[i], vmax=v, vmin=-v)
68
- axes[1,i].set_axis_off()
68
+ axes[1].imshow(median_models[i], vmax=v, vmin=-v)
69
+ axes[1].set_axis_off()
69
70
 
70
- axes[2,i].imshow(images[i]-median_models[i], vmax=v, vmin=-v)
71
- axes[2,i].set_axis_off()
71
+ axes[2].imshow(images[i]-median_models[i], vmax=v, vmin=-v)
72
+ axes[2].set_axis_off()
73
+
74
+ else:
75
+ for i in range(len(wavs)):
76
+
77
+ v = np.percentile(images[-1], 99.9)
78
+
79
+ axes[0,i].imshow(images[i], vmax=v, vmin=-v)
80
+ axes[0,i].set_axis_off()
81
+
82
+ axes[1,i].imshow(median_models[i], vmax=v, vmin=-v)
83
+ axes[1,i].set_axis_off()
84
+
85
+ axes[2,i].imshow(images[i]-median_models[i], vmax=v, vmin=-v)
86
+ axes[2,i].set_axis_off()
72
87
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mimical
3
- Version: 0.0.7
3
+ Version: 0.0.9
4
4
  Summary: Intesity modelling of multiply-imaged objects
5
5
  Author: Struan Stevenson
6
6
  Author-email: struan.stevenson@ed.ac.uk
@@ -1,12 +1,12 @@
1
1
  mimical/__init__.py,sha256=cBuyDtPwn6KcIkjlT7oct36jigvYDJmbZNmnt1I1QJU,75
2
2
  mimical/fitting/__init__.py,sha256=xcnLoeBDtt4Le5NhD6GhJe2ZRPNSsEySRHFYNuJyNEQ,69
3
- mimical/fitting/fitter.py,sha256=snF9OS6enzjBvcmFPyS5NmVljRRL54So4JN9QfE-SQY,8309
3
+ mimical/fitting/fitter.py,sha256=zYbhc5iQsj_-b5Q6FbkCbh8fex2MFxGsBN2w4PB-1EY,8622
4
4
  mimical/fitting/prior_handler.py,sha256=yXvxbohS6f94CMRyeIViFc83hRYAj82IZNA5mzhMSRw,4193
5
5
  mimical/plotting/__init__.py,sha256=I1ZpQA48g-YPkqwrDGgTrqaTxDUgR8n0mbBX0MdbZtU,30
6
- mimical/plotting/plotting.py,sha256=OWTR-uOT4UpBw0XcKpl_uFSODuEdcfw7nIk3Sf1cOGY,2646
6
+ mimical/plotting/plotting.py,sha256=RW6PgrX3UbafXmUnthV0mttKRjeUnS03eeX1c6fgZHU,3131
7
7
  mimical/utils/__init__.py,sha256=yolMgYFpvXoHuyV-ijGo26SQ0_niw0gz__iAFgdiQiY,35
8
8
  mimical/utils/filter_set.py,sha256=EITLa2c3FG3n1-v7KatKRwHCRyfZ4TTjsi_WM7Bz64k,6819
9
- mimical-0.0.7.dist-info/METADATA,sha256=KMd6HC02m-F7FQ64pHZi_aHBjyOG__rL-Lpc-mUwUvk,831
10
- mimical-0.0.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
11
- mimical-0.0.7.dist-info/top_level.txt,sha256=z6HTYpsoNjLUFayXjn8WyjX8C1mIbZw8Arb334cUbwc,8
12
- mimical-0.0.7.dist-info/RECORD,,
9
+ mimical-0.0.9.dist-info/METADATA,sha256=WzyzgjIu15SVhcoTyLTIBYFWhiLEVrY759LSjRz46vU,831
10
+ mimical-0.0.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
11
+ mimical-0.0.9.dist-info/top_level.txt,sha256=z6HTYpsoNjLUFayXjn8WyjX8C1mIbZw8Arb334cUbwc,8
12
+ mimical-0.0.9.dist-info/RECORD,,