Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-05-09 | Cast position and direction parameters to appropriately typed ndarrays. | Stan Seibert | |
2021-05-09 | Fix warning about redefinition of INFINITY. | Stan Seibert | |
2021-05-09 | Temporary kludge to correctly handle a Photons object passed into simulate. | Stan Seibert | |
2021-05-09 | Assign to a GPU array slice with a numpy array of length 1 to silence | Stan Seibert | |
a warning from PyCUDA about setting array with different stride. | |||
2021-05-09 | Add virtual destructors to ROOT data classes to silence compiler warnings. | Stan Seibert | |
2021-05-09 | Do not automatically initialize pycuda before forking the camera process. | Stan Seibert | |
This causes weird segfaults on Macs, and is probably a source of random crashing on other processes. Also call pygame.init() explicitly in the new process for good measure. | |||
2021-05-09 | Fix bug in intersection calculation that prevented axis-aligned photons from ↵ | Stan Seibert | |
hitting triangles. | |||
2021-05-09 | Add method to show total charge in event | Stan Seibert | |
2021-05-09 | Mark one of the propagate functions as __noinline__ to work around bug where ↵ | Stan Seibert | |
cicc hangs during compilation. | |||
2021-05-09 | Remove unused function to read a word bypassing L1 cache. Seems to be ↵ | Stan Seibert | |
incorrect asm syntax. | |||
2021-05-09 | woops. accidentally left in some print statements in camera.py | Anthony LaTorre | |
2021-05-09 | no channels was resulting in a seg fault. for now if there are no channels, ↵ | Anthony LaTorre | |
just set the python event channels to None. | |||
2021-05-09 | add get_triangle_centers() method to mesh; this method is useful for ↵ | Anthony LaTorre | |
selecting certain sections of a mesh to apply surfaces to. solids are by default partially transparent. | |||
2021-05-09 | make sure arguments to Photon have the correct dtype. | Anthony LaTorre | |
2021-05-09 | add ability to toggle between viewing initial and final photon positions. ↵ | Anthony LaTorre | |
try to use Image module to save screenshot if pygame screenshot doesn't work. | |||
2021-05-09 | oops. fix interpolation for a uniformly sampled function | Anthony LaTorre | |
2021-05-09 | add gpu interpolation functions. fix sample_cdf functions which were ↵ | Anthony LaTorre | |
interpolating on the wrong side of the interval between two points. | |||
2021-05-09 | add abs() function for float3s | Anthony LaTorre | |
2021-05-09 | set default max_steps to 100. this seems like a reasonable number. | Anthony LaTorre | |
2021-05-09 | add __getitem__ to Photon class | Anthony LaTorre | |
2021-05-09 | rotate() does not need to create a matrix. update test. remove superflous ↵ | Anthony LaTorre | |
function in last commit. | |||
2021-05-09 | add norm() function to get the length of vectors and shorten normalize() ↵ | Anthony LaTorre | |
function. | |||
2021-05-09 | add get_perp() to return an arbitrary perpendicular vector and a new ↵ | Anthony LaTorre | |
rotate() function which is faster and can handle different angles for each vector. | |||
2021-05-09 | add get_bounds() method to BVHLayerSlice so that you can now view your bvh's ↵ | Anthony LaTorre | |
by pressing page up/page down again | |||
2021-05-09 | positions returned by from_film() should be located at the focal point, not ↵ | Anthony LaTorre | |
the actual pixel locations | |||
2021-05-09 | Use a wider range of standard wavelengths to accomodate UV photons, like in ↵ | Stan Seibert | |
liquid argon. | |||
2021-05-09 | Remove some placeholder DAQ properties. | Stan Seibert | |
2021-05-09 | Set an arbitrary time PDF for a Detector. | Stan Seibert | |
2021-05-09 | Switch from hsv to jet_r color map because hsv has red at both ends, and | Stan Seibert | |
that is kind of confusion. jet_r starts from red and goes to blue. | |||
2021-05-09 | Make the photon reduction used in the event display mode dynamically | Stan Seibert | |
calculated to give about 10,000 initial photon vertices in the event. This is required to deal with events with very large numbers of photons, like scintillation events. | |||
2021-05-09 | Add a Photons.reduced() method that returns a new Photons object with | Stan Seibert | |
a random subset of photons based on the reduction_factor given. | |||
2021-05-09 | Minor change to allow eval_pdf to take a generator that emits | Stan Seibert | |
chroma.event.Photons objects to compute PDF values rather than a generator of Event objects. | |||
2021-05-09 | Put triangles and vertices back onto the GPU if there is sufficient room. | Stan Seibert | |
This is an optimization that is helpful for smaller detectors, even if giant water Cherenkov detectors cannot take advantage of it. Modified Mapped() helper function to pass through GPU arrays, which makes it much easier to flip between arrays on the CPU and the GPU. | |||
2021-05-09 | Diffuse reflection is lambertian, not isotropic. | Stan Seibert | |
2021-05-09 | Add a function to create a Mesh from the coordinates for a convex polygon. | Stan Seibert | |
2021-05-09 | Add the reemission probability and CDF arrays on the GPU to the ↵ | Stan Seibert | |
material_data list to prevent them from being garbage collected. | |||
2021-05-09 | Photons tagged with NAN_ABORT should not continue to be propagated. | Stan Seibert | |
2021-05-09 | Change surface re-emission simulation to not use the diffuse | Stan Seibert | |
reflection function. This allows the photon to reemit on either side of the surface and also removes a spurious diffuse reflection bit in the history. | |||
2021-05-09 | Update photon history bits in Python to match C header. | Stan Seibert | |
2021-05-09 | Add the ability to linear_extrude a mesh without the endcaps. | Stan Seibert | |
2021-05-09 | Refactor the saving and loading of packed BVH nodes to fully abstract | Stan Seibert | |
away the split storage. Also fixes a bug discovered by Mike Jewell that crashed BVH creation after the last commit. | |||
2021-05-09 | GPU geometry modification to permit the BVH node storage to be split | Stan Seibert | |
between GPU and CPU. This allows much more complex geometries to be run on CUDA devices with less memory. The GPUGeometry object now takes a min_free_gpu_mem parameter giving the minimum number of bytes that can be free on the GPU after the BVH is loaded. By default, this number is 300 MB. Cards with sufficient memory will have the entire BVH on card, but those without enough memory will have the BVH split such that the top of the hierarchy (the most frequently traversed) is on the GPU. | |||
2021-05-09 | add method to weld together solids at shared triangles | Andy Mastbaum | |
'weld' a solid onto another one at identical shared triangles. optionally apply a ``Surface`` or color to the shared surface. this isn't a boolean solid operation -- the triangles must be identical in the two meshes. | |||
2021-05-09 | make bulk reemission isotropic | Andy Mastbaum | |
2021-05-09 | more unit test fixes | Andy Mastbaum | |
update remaining unit tests to build BVHs with ``loader.create_geometry_from_obj`` instead of the (removed) ``build`` method. | |||
2021-05-09 | add simple bulk reemission | Andy Mastbaum | |
The ``Material`` struct now includes two new arrays: ``reemission_prob`` and ``reemission_cdf``. The former is sampled only when a photon is absorbed, and should be normalized accordingly. The latter defines the distribution from which the reemitted photon wavelength is drawn. This process changes the photon wavelength in place, and is not capable of producing multiple secondaries. It also does not enforce energy conservation; the reemission spectrum is not itself wavelength-dependent. | |||
2021-05-09 | simplify surface models | Andy Mastbaum | |
remove the ``SURFACE_SPECULAR`` and ``SURFACE_DIFFUSE`` models, since their functionality is available using the more-general ``SURFACE_DEFAULT``. also allow the user to specify the reflection type (specular/diffuse) for the complex and wls models. change wls so the normalization of properties is more consistent with the default. | |||
2021-05-09 | fixes and tweaks for surface models | Andy Mastbaum | |
All surface models including ``SURFACE_COMPLEX`` and ``SURFACE_WLS`` are now working. Note that the WLS won't work right in hybrid rendering mode since that mode relies on matching up incoming and outgoing photon wavelengths in a lookup table. | |||
2021-05-09 | update python-side gpu structs to reflect cuda changes | Andy Mastbaum | |
this fixes hybrid rendering mode | |||
2021-05-09 | add surface model documentation | Andy Mastbaum | |