{"id":13288292,"url":"https://github.com/JohannesBuchner/LightRayRider","last_synced_at":"2025-03-10T06:33:26.739Z","repository":{"id":66659319,"uuid":"56269395","full_name":"JohannesBuchner/LightRayRider","owner":"JohannesBuchner","description":"Ray tracing of hydrodynamic simulations to compute column densities","archived":false,"fork":false,"pushed_at":"2024-09-22T18:11:54.000Z","size":16671,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-06T13:06:55.699Z","etag":null,"topics":["astrophysics","c","intersection","monte-carlo","parallel-computing","python","raytracing"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JohannesBuchner.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":"CONTRIBUTING.rst","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-04-14T20:53:26.000Z","updated_at":"2024-09-22T18:11:58.000Z","dependencies_parsed_at":"2024-10-23T09:30:39.700Z","dependency_job_id":"105b783e-8769-42ad-8a64-1b28d0bc3862","html_url":"https://github.com/JohannesBuchner/LightRayRider","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FLightRayRider","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FLightRayRider/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FLightRayRider/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JohannesBuchner%2FLightRayRider/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JohannesBuchner","download_url":"https://codeload.github.com/JohannesBuchner/LightRayRider/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242805420,"owners_count":20187995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["astrophysics","c","intersection","monte-carlo","parallel-computing","python","raytracing"],"created_at":"2024-07-29T16:56:17.572Z","updated_at":"2025-03-10T06:33:26.719Z","avatar_url":"https://github.com/JohannesBuchner.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"LightRayRider\n========================================================\n \nA fast library for calculating intersections of a line with many spheres or inhomogeneous material.\n\nIntroduction\n-------------\n\n.. image:: https://johannesbuchner.github.io/LightRayRider/_static/logo.png\n\nThis small library computes line integrals through various three-dimensional geometric bodies.\nFor example, millions of rays can be sent through millions of spheres of various sizes and densities.\nThree-dimensional uniform grids representing arbitrary density fields are also supported,\nas well as voronoi tesselation of points.\n\nThe library was developed for X-ray ray tracing with `XARS \u003chttps://github.com/JohannesBuchner/xars/\u003e`.\nA point source can be obscured by a gas distribution along the line-of-sight.\nFor hydrodynamic simulations which produce such a gas distribution, this code can compute\nthe total density along a arbitrary ray. The output is a column density, \nalso known as \"N_H\" if hydrogen gas is irradiated.\n\n.. image:: https://img.shields.io/pypi/v/lightrayrider.svg\n        :target: https://pypi.python.org/pypi/lightrayrider\n.. image:: https://img.shields.io/badge/docs-published-ok.svg\n        :target: https://johannesbuchner.github.io/LightRayRider/\n        :alt: Documentation Status\n.. image:: https://github.com/JohannesBuchner/LightRayRider/actions/workflows/tests.yml/badge.svg\n\t:target: https://github.com/JohannesBuchner/LightRayRider/actions\n.. image:: https://coveralls.io/repos/github/JohannesBuchner/LightRayRider/badge.svg?branch=master\n\t:target: https://coveralls.io/github/JohannesBuchner/LightRayRider?branch=master\n\nLine/Sphere cutting\n--------------------\n\nInput:\n\n* Points in space representing sphere centres.\n* Sphere radii and densities.\n* One or more arbitrary lines from the origin.\n\nOutput:\n\n* This computes the total length / column density cut.\n* From distance 0 or another chosen minimal distance (or multiple).\n\nMethod:\n\n* Simple quadratic equations.\n\nVoronoi cutting\n----------------------\n\nInput:\n\n* Points in space. \n* Densities.\n* One or more arbitrary lines from the origin\n\nOutput:\n\n* This computes the total length along the line,\n  where every point on the line is assigned the density from the \n  nearest point (Voronoi segmentation).\n* From distance 0 or another chosen minimal distance (or multiple).\n\nMethod:\n\n* Segmentation of the line where points become equi-distant. \n  Performs approximately linearly with number of points.\n\nGrid cutting\n----------------------\n\nInput:\n\n* 3D Grid with densities at each location\n* One or more arbitrary lines from a point\n\nOutput:\n\n* This computes the total length along the line,\n  where every point on the line is assigned the density from the \n  grid cell it passes through.\n* From distance 0 or another chosen minimal distance (or multiple).\n\nMethod:\n\n* Finding intersections of the cell borders (planes) with the lines, and\n  checking which cell to consider next.\n\nUsage\n--------------\n\nTo use from Python, use raytrace.py::\n\t\n\tfrom lightrayrider import *\n\nYou can find the declaration of how to call these functions on the \n**`API documentation page \u003chttps://johannesbuchner.github.io/LightRayRider/modules.html\u003e`**.\n\nEssentially, pass the coordinates of your objects, the associated\ndensities and the starting point and direction of your raytracing.\n\nExample usage is demonstrated in irradiate.py. This was used for Illustris and \nEAGLE particle in the associated paper. \nThere are additional unit test examples in test/.\n\nParallel processing\n-----------------------\n\nLightRayRider supports multiple processors through OpenMP.\nSet the variable OMP_NUM_THREADS to the number of processors you want to use,\nand the parallel library ray-parallel.so will be loaded.\n\nLicense and Acknowledgements\n--------------------------------\n\nIf you use this code, please cite \"Galaxy gas as obscurer: II. Separating the galaxy-scale and\nnuclear obscurers of Active Galactic Nuclei\", by Buchner \u0026 Bauer (2017), https://arxiv.org/abs/1610.09380\n\nBibcode::\n\n\t@ARTICLE{2017MNRAS.465.4348B,\n\t   author = {{Buchner}, J. and {Bauer}, F.~E.},\n\t    title = \"{Galaxy gas as obscurer - II. Separating the galaxy-scale and nuclear obscurers of active galactic nuclei}\",\n\t  journal = {\\mnras},\n\tarchivePrefix = \"arXiv\",\n\t   eprint = {1610.09380},\n\t primaryClass = \"astro-ph.HE\",\n\t keywords = {dust, extinction, ISM: general, galaxies: active, galaxies: general, galaxies: ISM, X-rays: ISM},\n\t     year = 2017,\n\t    month = mar,\n\t   volume = 465,\n\t    pages = {4348-4362},\n\t      doi = {10.1093/mnras/stw2955},\n\t   adsurl = {http://adsabs.harvard.edu/abs/2017MNRAS.465.4348B},\n\t  adsnote = {Provided by the SAO/NASA Astrophysics Data System}\n\t}\n\nThe code is licensed under AGPLv3 (see LICENSE file).\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJohannesBuchner%2FLightRayRider","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJohannesBuchner%2FLightRayRider","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJohannesBuchner%2FLightRayRider/lists"}