Skip to content

Commit 748f939

Browse files
Do not trigger cutout addition if cutout is None. (#188)
* Do not trigger cutout addition if cutout is None. Also fix a bug in generating cutout from API if other than Science. * Ruff
1 parent 8bf0f23 commit 748f939

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

fink_utils/tg_bot/utils.py

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,7 @@ def add(data, text=None, parse_mode=parse_mode):
175175
if isinstance(cutout, list):
176176
for c in cutout:
177177
add(c)
178-
else:
178+
elif isinstance(cutout, io.BytesIO):
179179
add(cutout)
180180

181181
res = requests.post(
@@ -262,13 +262,27 @@ def get_cutout(cutout=None, ztf_id=None, kind="Difference", origin="alert"):
262262
ztf_id : str, optional
263263
unique identifier for this object. Only
264264
used for origin=API.
265+
kind: str, optional
266+
Science, Difference, or Template
265267
origin: str, optional
266268
Choose between `alert`[default], or API.
267269
268270
Returns
269271
-------
270272
out : BytesIO stream
271273
cutout image in png format
274+
275+
Examples
276+
--------
277+
From API
278+
>>> out = get_cutout(ztf_id="ZTF23aapvluy", origin="API", kind="Science")
279+
>>> assert isinstance(out, io.BytesIO)
280+
281+
From cutout
282+
>>> pdf = pd.read_parquet("../test_data/online/science/day=04/alert_samples.parquet")
283+
>>> cutout = pdf["cutoutTemplate"].apply(lambda x: x["stampData"]).to_numpy()[0]
284+
>>> out = get_cutout(cutout, kind="Science")
285+
>>> assert isinstance(out, io.BytesIO)
272286
"""
273287
if origin == "API":
274288
assert ztf_id is not None
@@ -279,7 +293,9 @@ def get_cutout(cutout=None, ztf_id=None, kind="Difference", origin="alert"):
279293
)
280294
if not status_check(r, header=ztf_id):
281295
return io.BytesIO()
282-
data = np.log(np.array(r.json()["b:cutoutScience_stampData"], dtype=float))
296+
data = np.log(
297+
np.array(r.json()["b:cutout{}_stampData".format(kind)], dtype=float)
298+
)
283299
plt.axis("off")
284300
plt.imshow(data, cmap="PuBu_r")
285301
buf = io.BytesIO()

0 commit comments

Comments
 (0)