Our Work
We specialize in applying high performance technical computing and geometric and multiscale methods of modeling, analysis, and visualization to challenging problems in a range of fields.
3D Algorithms and Computation
Medical scanning software often must processes streaming device data and render output fast enough to keep up with the scanning device and maintain high accuracy. Balancing the opposing goals of speed and accuracy requires sophisticated computational algorithms as well as highly performant implementation.
For a client developing dental scanning technology, we implemented Simultaneous Localization and Mapping (SLAM) algorithms to process and render laser scanner data in real time while meeting strict accuracy requirements. We also developed and implemented novel computational algorithms to denoise, partition, and generate meshed surface models from oriented 3D point clouds for use during and post scanning.
Topology optimized parts are often lighter and stronger than traditional ones, but have more complicated geometry, making them costly to produce on many CNC machines currently in use. As part of a SBIR phase 1 project funded by the US Navy, we helped create software to take a topology optimized part model and output an approximating part model with simplified geometry enabling the part to be more easily machined.
Modeling Complexity
As part of a DARPA funded research program aimed at modeling complex systems that are “social-like,” involving many interacting individuals, we developed new multiscale geometric techniques of analysis and prediction for such systems. We produced peer reviewed research by applying our new methods to large scale human population movement patterns using cellular phone data.
Working with the city of Salem, Oregon we helped build a machine learning system to better understand and forecast harmful algal blooms (HABs) in the municipal water supply. Whether or not a HAB occurs in a lake or reservoir depends on the state of complex aquatic ecosystems and gathering data through measurement can be costly and challenging, leading to problems where many common ”big data” approaches do not apply. However, certain geometric and topological approaches can yield actionable intelligence in such limited data situations.
Simulation and Analysis
Working with a manufacturing software startup, we developed data management and analysis software for CNC programming work flows, organizing and analyzing part models, CNC code, tools, and machines across multiple shops. We also built a graphical user interface to help
programmers efficiently and quickly map out their design approach informed by shop wide data.
Successful gambling systems are based on the laws of probability. Applying probabilistic modeling, we created simulation software used in the development and marketing of large scale casino gaming systems. We also helped design scoring and data management systems for use in online video game tournaments.
Academic Research
We have published journal articles in a number of fields of pure and applied mathematics and continue to carry out our own mathematical research. Our academic research skills allow us to identify and apply the best currently available tools in our work for our clients.
Scientific Computing and Visualization
As hardware capabilities and the scale and resolution of data increase, computational algorithms must keep pace to optimally utilize available hardware and process such data; for challenging problems, speed and performance always matter. We specialize in the Julia programming language and maintain a library of pure Julia implementations of algorithms based on our own research and on current academic research. In addition to continually improving our ability to write fast and scalable code, we also develop novel
visualization methods to help understand increasingly complex problems and data sets. The figures above and to the right, as well as most of the images on this site, were produced using our visualization library written in Julia.