{"action":"created","issue":{"url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/issues/11","repository_url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy","labels_url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/issues/11/labels{/name}","comments_url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/issues/11/comments","events_url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/issues/11/events","html_url":"https://github.com/PlasmaPy/SpectroscoPy/issues/11","id":272081639,"number":11,"title":"Working smart","user":{"login":"lemmatum","id":28945309,"avatar_url":"https://avatars0.githubusercontent.com/u/28945309?v=4","gravatar_id":"","url":"https://api.github.com/users/lemmatum","html_url":"https://github.com/lemmatum","followers_url":"https://api.github.com/users/lemmatum/followers","following_url":"https://api.github.com/users/lemmatum/following{/other_user}","gists_url":"https://api.github.com/users/lemmatum/gists{/gist_id}","starred_url":"https://api.github.com/users/lemmatum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lemmatum/subscriptions","organizations_url":"https://api.github.com/users/lemmatum/orgs","repos_url":"https://api.github.com/users/lemmatum/repos","events_url":"https://api.github.com/users/lemmatum/events{/privacy}","received_events_url":"https://api.github.com/users/lemmatum/received_events","type":"User","site_admin":false},"labels":[{"id":743796954,"url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2017-11-08T05:49:38Z","updated_at":"2017-11-08T08:09:57Z","closed_at":null,"author_association":"COLLABORATOR","body":"What sorts of tools and collaborations can we leverage to minimize unnecessary reproduction of effort?\r\n\r\nHere are some that were mentioned in PlasmaPy/PlasmaPy#162 :\r\n* [MassiveOES](https://bitbucket.org/OES_muni/massiveoes) has spectroscopy tools and is written in Python.\r\n* Significant functionality overlap with [fiasco](https://github.com/wtbarnes/fiasco) which is specifically geared towards interfacing with [CHIANTI](http://chiantidatabase.org/).\r\n* Astropy's [specutils](https://github.com/astropy/specutils) which focuses on astro spectroscopy\r\n* Sunpy's [spectra](https://github.com/sunpy/spectra) for solar physics spectroscopy\r\n* Astropy's [astroquery](https://github.com/astropy/astroquery) has many database querying tools, including ones for the NIST atomic lines database\r\n"},"comment":{"url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/issues/comments/342741429","html_url":"https://github.com/PlasmaPy/SpectroscoPy/issues/11#issuecomment-342741429","issue_url":"https://api.github.com/repos/PlasmaPy/SpectroscoPy/issues/11","id":342741429,"user":{"login":"lemmatum","id":28945309,"avatar_url":"https://avatars0.githubusercontent.com/u/28945309?v=4","gravatar_id":"","url":"https://api.github.com/users/lemmatum","html_url":"https://github.com/lemmatum","followers_url":"https://api.github.com/users/lemmatum/followers","following_url":"https://api.github.com/users/lemmatum/following{/other_user}","gists_url":"https://api.github.com/users/lemmatum/gists{/gist_id}","starred_url":"https://api.github.com/users/lemmatum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lemmatum/subscriptions","organizations_url":"https://api.github.com/users/lemmatum/orgs","repos_url":"https://api.github.com/users/lemmatum/repos","events_url":"https://api.github.com/users/lemmatum/events{/privacy}","received_events_url":"https://api.github.com/users/lemmatum/received_events","type":"User","site_admin":false},"created_at":"2017-11-08T08:09:57Z","updated_at":"2017-11-08T08:09:57Z","author_association":"COLLABORATOR","body":"I think a sensible approach would be to start with building the abstraction layer which uniquely defines atomic energy levels and getting that to interface with a function which is essentially a thin wrapper around astroquery. Test this for some simple cases like hydrogen and helium, where we know from the [line holdings](https://physics.nist.gov/cgi-bin/ASD/lines_pt.pl) that the transition strengths and other requisite parameters are present in the NIST database. We can expand from there by testing ground state and first ionization state of higher Z elements, since those line holdings are also mostly there.\r\n\r\nHaving this basic interface in place, we can then expand in a few ways. One degree of expansion is to include interfaces to other databases under this abstraction layer. Another degree of expansion is to build a simple LTE Saha-Boltzmann spectra simulator (optically thin) which interfaces with the database query abstraction layer. A third degree would be saving database queries more permanently (in an HDF5 file) and generating a system of unique identifiers which identify the database and version. Perhaps some form of checksum and a DOI can be used to achieve this.\r\n\r\nIn parallel to all this database interfacing there is the independent task of building up functions relevant for analysis of measurements and designing diagnostics. Many of these will be low-hanging fruit (e.g., Bragg diffraction, diffraction grating, lens equations, compiling common crystals and their interlattice spacings). Others will be a bit more sophisticated (e.g., querying Henke cold filter page via HTTP, parsing the returned data, and plotting multiple filter transmissions simultaneously)."}}
{"actor":{"display_login":"lemmatum"}}