(for Scientific Visualization)
Attempt to communicate a message about data through images
Practically speaking, this thesis work has grown beyond scientific visualization.
If an application uses a regular grid for simulation, then there is a high probability that it's a Cartesian grid.
Cartesian
Body Centered Cubic
Face Centered Cubic
Why use a non-Cartesian grid? Higher approximation capacity, more isotropic, better simulation results [1]
Cartesian
Body Centered Cubic
Face Centered Cubic
What are the challenges?
There are many! But I'll focus on a few fundamental ones related to Scientific Visualization that I tackle in my thesis work
Challenge 1: Representation
How does one represent data on a non-Cartesian lattice? What's an appropriate data-structure?
Note: Every integer lattice has a Cartesian coset decomposition.
Challenge 1: Representation
We introduce the lattice tensor data-structure.
Many algorithms can be extended to easily support this data-structure (convolution, Fourier transform, etc...)
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Challenge 2: Data Processing
Algorithms need to be extended for data-processing on non-Cartesian grids. Most algorithms are simple to re-state on non-Cartesian grids (convolution, padding, interpolation, attention, etc...) However, in practice their formulation and/or implementation can get quite involved.
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Horacsek, Joshua, and Usman Alim. "A closed PP form of box splines via Green’s function decomposition." Journal of Approximation Theory 233 (2018): 37-57.
Challenge 2: Data Processing
One of the more involved (and important in scientific visualization) techniques is interpolation.
Scientific visualization algorithms often require smooth input functions. The question is then, given an interpolant, designed for non-Cartesian data, how does one perform interpolation in a general and performant fashion?
Background:
Box splines are defined by an \(s\) by \(n\) matrix
And have the associated functional
Interpolant
Typically evaluated via
Our contribution is an explicit form for box-splines
Not exactly "easy" or "fast", but characterization is nice.
Horacsek, Joshua, and Usman Alim. "A closed PP form of box splines via Green’s function decomposition." Journal of Approximation Theory 233 (2018): 37-57.
Challenge 3: Practicality
Much of the work presented so far has been theoretical. That is, it answers the question of existence and provides construction methods, but they say little about the performance of those methods.
Challenge 3: Practicality
Research question:
Is there an overarching technique that can be generalized from the cases and techniques that have appeared so far in the literature?
\(\sum_{\mathbf{n}\in L\mathbb{Z}^s}c_{\mathbf{n}}\varphi\left(\frac{\mathbf{x}}{h}-\mathbf{n}\right)\)
Again, we focus on inperolation
Challenge 3: Practicality
For a given lattice/basis function combination, generate fast code for that combination?
We preform an in-depth symmetry analysis.
We then generate LLVM-IR (a low level code for a virtual machine that compiles to almost any modern compute architecture)
Challenge 3: Practicality
For a given lattice/basis function combination, generate fast code for that combination.
Horacsek, Joshua, and Usman Alim. "FastSpline: Automatic Generation of Interpolants for Lattice Samplings" ACM Transactions on Mathematical SoftwareVolume, 49 Issue 2 pp 1–35, https://doi.org/10.1145/3577194
Challenge 3: Practicality
We also leverage fast algorithms on Cartesian lattices to build algorithms for non-Cartesian lattices (in a general setting).
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Challenge 4: Usability
Most of the techniques used for non-Cartesian computing are not used due to the slight conceptual difficulty in understanding the geometry and theory behind non-Cartesian computing.
Background:
Challenge 4: Usability
How do we support non-Cartesian methods?
NCDL
Non-Cartesian Deep Learning
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Challenge 4: Usability
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Challenge 4: Usability
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Trained on FFHQ (face dataset)
Horacsek, Joshua, and Usman Alim. "NCDL: Non-Cartesian Deep Learning ", Submitted to NeurIPS 2023.
Horacsek, Joshua, and Usman Alim. "FastSpline: Automatic Generation of Interpolants for Lattice Samplings" ACM Transactions on Mathematical SoftwareVolume, 49 Issue 2 pp 1–35, https://doi.org/10.1145/3577194
Horacsek, Joshua, and Usman Alim. "A closed PP form of box splines via Green’s function decomposition." Journal of Approximation Theory 233 (2018): 37-57.
References
[1] Alireza Entezari. Towards computing on non-cartesian lattices. IEEE Transactions on Visualization and Computer Graphics, 2006.
[2] A. Entezari, R. Dyer, and T. Moller. Linear and cubic box splines for the body-centered cubic lattice. In IEEE Visualization 2004, pages 11–18, 10 2004.
[3] Alireza Entezari and Torsten Moller. Extensions of the Zwart-Powell box spline for volumetric data reconstruction on the cartesian lattice. IEEE Transactions on Visualization and Computer Graphics, 12(5):1337–1344, 2006.
[4] Alireza Entezari, Dimitri Van De Ville, and Torsten M ̈oeller. Practical box splines for reconstruction on the body-centered cubic lattice. IEEE Transactions on Visualization and Computer Graphics, 14(2):313–328, 2008.
[5] Minho Kim, Alireza Entezari, and Jorg Peters. Box spline reconstruction on the face-centered cubic lattice. IEEE Transactions on Visualization and Computer Graphics, 14(6), 2008.
[6] Minho Kim. Quartic box-spline reconstruction on the BCC lattice. IEEE Transactions on visualization and computer graphics, 19(2):319–330, 2013.
[7] Mahsa Mirzargar and Alireza Entezari. Voronoi splines. IEEE Transactions on Signal Processing, 58(9):4572–4582, 2010.
[8] Joshua Horacsek and Usman Alim. A closed PP form of box splines via green’s function decomposition. Journal of Approximation Theory, 233:37–57, 2018.
[9] Thierry Blu and Michael Unser. Quantitative Fourier analysis of approximation techniques. I. interpolators and projectors. IEEE Transactions on signal processing, 47(10):2783–2795, 1999.
[10] Balazs Csebfalvi and Gergely Racz. Retailoring box splines to lattices for highly isotropic volume representations. In Computer Graphics Forum, volume 35, pages 411–420. Wiley Online Library, 2016.
[11] Zhou Wang, Alan C Bovik, Hamid R Sheikh, and Eero P Simoncelli. Image quality assessment: from error visibility to structural similarity. IEEE transactions on image processing, 13(4):600–612, 2004.
[12] Thomas Fogal, Alexander Schiewe, and Jens Kruger. An analysis of scalable GPU-based ray-guided volume rendering. In 2013 IEEE Symposium on Large-Scale Data Analysis and Visualization (LDAV), pages 43–51. IEEE, 2013.
[13] Jesus Dıaz-Garcıa, Pere Brunet, Isabel Navazo, and Pere-Pau Vazquez. Progressive ray casting for volumetric models on mobile devices. Computers & Graphics,73:1–16, 2018.
[14] Jiro Inoue and A James Stewart. Multiresolution sphere packing tree: a hierarchical multiresolution 3d data structure. In Proceedings of the 2008 ACM symposium on Solid and physical modeling, pages 367–373, 2008.
[15] JJ Horacsek and UR Alim. Compactly supported biorthogonal wavelet bases on the body-centered cubic lattice. In Computer Graphics Forum, volume 36, pages35–45. Wiley Online Library, 2017.