benmontet / f3 Goto Github PK
View Code? Open in Web Editor NEWFull Frame Fotometry from the Kepler Full Frame Images
License: MIT License
Full Frame Fotometry from the Kepler Full Frame Images
License: MIT License
I recently had another look at f3 and wondered about conceivable extensions and applications.
As it stands, f3 is not equipped for this task, since it is A) hardcoded to Kepler prime, and B) many of the "ubercalibration"-style likelihood assumptions require a large enough sample of FFIs to break significant degeneracies.
Kepler Prime observed Active Galactic Nuclei (AGN, Smith et al. 2018), and it'd be meaningful to constrain the long-term behavior of this AGN sample.
Imagine a likelihood function consisting of a flexible Gaussian Process with many tuning parameters that fits all Q1-17 long cadence data and simultaneously fits the F3-derived photometry. You could then warp the mean model of the long cadence similar in spirit to forward modeling spectral continuum normalization (e.g. Czekala et al 2015, Figure 3).
Could porting some parts of the code to lightkurve alleviate the brittle dependency of kplr? Could recent innovations in gradient-based methods help with the large number of parameters for joint modeling projects described above? Could some tutorials for more objects and application be helpful to expand the usefulness of f3? Could recently released and reformatted thermal telemetry data help as regressors for long term systematics? These modernization steps could help, but are they worth the investment?
This is from running target.make_postcard() following the demo. I only updated the path, but it never got far enough for the path to matter.
JSONDecodeError Traceback (most recent call last)
~/anaconda3/lib/python3.8/site-packages/kplr/api.py in mast_request(self, category, adapter, sort, mission, **params)
197 try:
--> 198 result = json.loads(txt)
199 except ValueError:
~/anaconda3/lib/python3.8/json/__init__.py in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
356 parse_constant is None and object_pairs_hook is None and not kw):
--> 357 return _default_decoder.decode(s)
358 if cls is None:
~/anaconda3/lib/python3.8/json/decoder.py in decode(self, s, _w)
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
~/anaconda3/lib/python3.8/json/decoder.py in raw_decode(self, s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
During handling of the above exception, another exception occurred:
APIError Traceback (most recent call last)
<ipython-input-4-92c152c5ca9d> in <module>
----> 1 target.make_postcard()
~/f3/f3/photometry.py in make_postcard(self, npix, shape, buffer_size)
61 source = self.kic
62 client = kplr.API()
---> 63 targ = client.target(source)
64
65 channel = [targ.params['Channel_0'], targ.params['Channel_1'],
~/anaconda3/lib/python3.8/site-packages/kplr/api.py in target(self, kepid, **params)
334
335 """
--> 336 stars = self.targets(kic_kepler_id=kepid, max_records=1, **params)
337 if not len(stars):
338 raise ValueError("No KIC target found with id: '{0}'"
~/anaconda3/lib/python3.8/site-packages/kplr/api.py in targets(self, **params)
351 params["max_records"] = params.pop("max_records", 100)
352 params["select"] = params.get("select", "*")
--> 353 stars = self.mast_request("kepler_fov", adapter=mast.target_adapter,
354 **params)
355 return [Target(self, s) for s in stars]
~/anaconda3/lib/python3.8/site-packages/kplr/api.py in mast_request(self, category, adapter, sort, mission, **params)
199 except ValueError:
200 full_url = handler.geturl() + "?" + urllib.parse.urlencode(params)
--> 201 raise APIError(code, full_url,
202 "No JSON object could be decoded.\n" + txt)
203
APIError: The API returned code 200 for URL: 'https://archive.stsci.edu/kepler/kepler_fov/search.php?kic_kepler_id=8462852&max_records=1&select=%2A&action=Search&outputformat=JSON&coordformat=dec&verb=3' with message:
No JSON object could be decoded.
It then prints out all the option value=XXX stuff.
I went to the provided URL, and it does look like a JSON object. So I tried fiddling with my kplr API version and my JSON reader (this is built-in, so no success there). This is Python3.8, but I get the same output with Python3.7 and across computers.
My only guess is that Kepler has changed something minor in the format of their object on that URL. But that's just a guess.
Hi there, I have 2 questions about the second step, i.e., target.make_postcard() in the demo:
WARNING:root:Unrecognized parameter: 'u_SDSS'
WARNING:root:Unrecognized parameter: 'g_SDSS'
WARNING:root:Unrecognized parameter: 'r_SDSS'
WARNING:root:Unrecognized parameter: 'i_SDSS'
WARNING:root:Unrecognized parameter: 'z_SDSS'
WARNING:root:Unrecognized parameter: 'err_u_SDSS'
WARNING:root:Unrecognized parameter: 'err_g_SDSS'
WARNING:root:Unrecognized parameter: 'err_r_SDSS'
WARNING:root:Unrecognized parameter: 'err_i_SDSS'
WARNING:root:Unrecognized parameter: 'err_z_SDSS'
WARNING:root:Unrecognized parameter: 'extinction_u_SDSS'
WARNING:root:Unrecognized parameter: 'extinction_g_SDSS'
WARNING:root:Unrecognized parameter: 'extinction_r_SDSS'
WARNING:root:Unrecognized parameter: 'extinction_i_SDSS'
WARNING:root:Unrecognized parameter: 'extinction_z_SDSS'
WARNING:root:Unrecognized parameter: 'ug_SDSS'
WARNING:root:Unrecognized parameter: 'gr_SDSS'
WARNING:root:Unrecognized parameter: 'gi_SDSS'
make_postcard
take typically, for my code always gets stuck in this step for hours.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.