SoftwareSource code I've written & used for my research |
Home |
Show content only (no menu, header)OverviewMost software I write follows the same core architecture, with modules performing specific tasks. The command line interface and core modules to perform frequently used operations are shared between the programs, while application-specific modules differ. Source code is in C, and I follow the GNU build process All software is available on my github site Cfits toolkitDownload and installWhat is Cfits ? (read this first)Cfits provides a convenient C-based environment to quickly develop new high performance programs manipulating images, as the “basic” operations on images are provided. Cfits is entirely written in C and arranged in modules, allowing easy import/export of C source code. Cfits offers the performance and optimization flexibility of C coding, and also allows simpler/interactive operation. There are 3 ways to do something in Cfits:
Cfits is particularly well-suited for use in a Unix environment, and can make efficient use of standard command-line tools available in Linux (such as grep, xargs, awk). Developing new codeCfits is not a high-level language for image analysis; its goal is to provide the user with a framework and set of tools to allow rapid development of high performance image-related analysis code in C. Cfits is intended at high performance computing (mode (3): C coding) for users with some knowledge of C language. Modes (1) and (2) are only provided to make it easier to run and test programs. If you are allergic to C and only interested in modes (1) and (2), consider using other tools better suited for this (python/numpy, matlab, IDL, IRAF etc…). Modes (1) and (2) of Cfits do not allow for very complex operations, as those should be coded in C. For example, these modes do not allow easy implementation of a custom “for” loop on the pixels of an image, which would need to be coded in C (which will result in a faster execution time compared to doing loops with high level languages). Using Cfits without developing new codeCfits scripts are a convenient way to use Cfits as a “black box” to perform an operation. For example, a script can be written to load a few images, perform the necessary operation, and save the ouput image(s). This script can be one step in a larger data reduction pipeline written in a high level language, using file system I/O. AtmosphericTurbulenceSimulDownload and installSee AtmosphericTurbulenceSimul github site OverviewSimulates effect of atmospheric turbulence on wavefronts at visible and near-IR wavelength. Includes chromatic diffractive propagation between layers, inner, outer scales, wind speed and direction for each layer, CN2 profile. OPD and scintillation can be computed for multiple wavelengths and multiple directions. Output can be FITS files (cubes), or shared memory image for real-time use by other programs. In shared memory mode, physical time and computer clock time can be synced, with a one-to-one match or a slowing down / speeding up factor. AdaptiveOpticsControlDownload and installSee AdaptiveOpticsControl github site OverviewAdaptive Optics Wavefront control tools for high contrast imaging Uses shared memory for fast low-latency communication to hardware Includes a simulator of hardware (DM, Camera): the same code can be tested on actual hardware or in a simulation mode. Supports multiple simultaneously running control loops and data logging. PIAACMCdesignDownload and installOverviewPIAACMC type coronagraph design tool Page content last updated: 27/06/2023 06:35:52 HST html file generated 27/06/2023 06:34:41 HST |