Papers
Topics
Authors
Recent
Search
2000 character limit reached

RasCal: Precision Metrology Software

Updated 14 July 2026
  • RasCal is a comprehensive metrology software that integrates image acquisition, device control, and real-time analysis for precision optical displacement measurement using a coded mask.
  • It employs a Fourier-based image processing pipeline with sub-pixel peak refinement and absolute code decoding to ensure restart-safe, high-accuracy positioning.
  • The framework leverages asynchronous processing and GPU acceleration to achieve millisecond command latency and resolutions down to 5 pm/√Hz under laboratory conditions.

Searching arXiv for “RasCal” and closely related entries to ground the article in current papers. RasCal is the comprehensive control and analysis software associated with the Rasnik 3-point alignment system, a three-point optical displacement sensor used for precision alignment and metrology. In the cited formulation, RasCal is not merely “analysis code” and not merely “camera control”: it integrates image acquisition, device control, real-time image processing, absolute position decoding, live visualization, data logging, post-processing, and reporting. Its role is to recover precision displacement and alignment information from images of a coded optical mask in real time, while coordinating cameras and data streams robustly enough for laboratory metrology, gravitational-wave instrumentation, and space-hardware verification (Koushik et al., 3 Oct 2025).

1. RasCal within the Rasnik measurement system

RasCal operates within a Rasnik architecture composed of a back-illuminated coded mask, a lens, and a CMOS camera. The system is a 3-point optical displacement sensor, and the software exposes the motion information carried by the projected image of the mask. The paper states that the underlying Rasnik system evolved from four-quadrant photodiodes to CMOS pixel sensors with custom ChessField coded masks, enabling absolute position measurement with no cumulative drift due to absolute coding. It also identifies key hardware-level advantages: electromagnetic immunity through purely optical measurement principles, working distances from 50 mm to 15 m, and multi-degree-of-freedom sensitivity perpendicular to the optical axis (Koushik et al., 3 Oct 2025).

The measurement problem is multi-parameter. Motion of the mask, lens, or camera changes image translation, rotation, and scale, so the system is designed to measure transverse translation in xx, transverse translation in yy, longitudinal translation zz through magnification change, and rotation about the optical axis. The paper adds that the roll of the lens itself is not determined. RasCal is therefore best understood as the software layer that turns a camera-plus-mask arrangement into an operational metrology instrument.

A practical implication is that RasCal belongs to the control plane of the instrument as much as to the inference plane. The cited architecture includes pyRasCal, ServRas as central manager, RasAPI as a REST interface, a subprocess layer, camera control, image analysis, rolling file saving, and a web interface. This suggests a framework intended for sustained operation rather than one-off offline reconstruction.

2. Optical coding and coordinate reconstruction

The coded mask is a ChessField pattern with an embedded absolute code. Every 9×99 \times 9 block contains ordinary chess squares for fine positioning and a coded ninth row and ninth column carrying 8-bit binary coarse position information. The paper states that there are 8×88 \times 8 ordinary chessboards between coded values, that the code starts from the origin at the lower left of the mask, and that the crossing square between coded row and column acts as a pivot or crossover and does not carry useful coarse code, although it still contributes to fine positioning (Koushik et al., 3 Oct 2025).

RasCal extracts fine position from Fourier phase. The paper gives the harmonic-peak lattice in the 2D spectrum as

P(i,j)=((2i1)fx,(2j1)fy),P(i,j) = ((2i-1)f_x, (2j-1)f_y),

where fxf_x and fyf_y are the fundamental horizontal and vertical spatial frequencies. Fine offsets are then obtained from phase:

δx=ϕxTx2π,δy=ϕyTy2π,\delta_x = \frac{\phi_x T_x}{2\pi}, \qquad \delta_y = \frac{\phi_y T_y}{2\pi},

and the same relation is also written in scalar form as

x=ϕTp2π.x = \frac{\phi\,T_p}{2\pi}.

Absolute position combines the coarse code and the fine phase offsets. The paper writes

yy0

with

yy1

Here yy2 are integer square indices from code decoding, yy3 are periods in pixels, yy4 are fine offsets, yy5 is rotation, and yy6 is the pixel-to-physical scale matrix.

The central consequence of this formulation is that the output is absolute rather than incremental. A plausible implication is that restart-safe operation is inherent to the coding scheme itself, not added later by filtering or trajectory integration.

3. Image-processing algorithm

RasCal’s core algorithm is a spectral image-analysis pipeline centered on 2D FFT processing of the ChessField image. The paper describes a sequence consisting of acquisition, region-of-interest selection or cropping, optional binning, Hann windowing, 2D FFT, peak finding, sub-pixel peak refinement, multi-peak fitting, code decoding, coordinate reconstruction, and quality or error estimation (Koushik et al., 3 Oct 2025).

For the reported results, the analysis target format is yy7 pixels, 8-bit, monochrome. If the cropped image exceeds that target, adjacent pixels are aggregated into super-pixels; this is described as increasing photons per effective sample, reducing shot noise, averaging pixel nonuniformity, and lowering computational load. Before FFT, a Hann window is applied to reduce boundary discontinuities and spectral leakage.

The paper gives the transformed image as

yy8

and states that zero-padding is used to increase frequency-domain sampling density. Since the image is real-valued, only the non-redundant half-plane is analyzed. The stated FFT complexity is yy9 for an zz0 image.

Peak finding is based on local maxima and thresholding. A sample is classified as a peak if

zz1

for all neighboring offsets except zz2, and also satisfies

zz3

A small band around the zero axis is excluded. The primary pair is taken as the diagonal fundamentals zz4 and zz5.

Geometric consistency is quantified by

zz6

where zz7 and zz8 are the primary peak vectors. The ideal case is zz9, and the paper interprets 9×99 \times 90 as a distortion metric; values exceeding 0.03 typically indicate significant distortion.

Peak positions are then refined by a small-window 2D fit, described as a Gaussian model optimized using Minuit. Reported refinement precision is 0.001 to 0.01 pixels. RasCal then fits multiple peaks jointly, including higher harmonics such as 9×99 \times 91, 9×99 \times 92, and 9×99 \times 93. The paper notes that code rows and columns perturb peak positions by about 1% of peak width, and it assigns an additional uncertainty of 0.0025 frequency bins.

A common misconception is to identify the picometer-class readout floor with the full metrological error budget. The paper explicitly separates fine phase precision from systematic linearity error, and gives a model for the latter:

9×99 \times 94

with a velocity-dependent manifestation

9×99 \times 95

This distinction is central to interpreting the reported performance.

4. Control framework and software architecture

The software stack is presented as a Python-centered system in which pyRasCal, ServRas, RasAPI, the camera subsystem, image analysis, rolling file saving, and the web interface are coordinated asynchronously. The paper describes RasCal as a comprehensive control and analysis framework rather than a single executable or library, and emphasizes queue-based processing, memory-mapped I/O, and low command latency (Koushik et al., 3 Oct 2025).

Camera support includes Daheng MER2 cameras, Pi camera, generic USB cameras, network image streams, and file-based image sources. The Daheng plugin exposes frame rate, exposure, gain, and pixel format. The preferred hardware is a monochrome global-shutter CMOS camera, because rolling shutter or image distortion would degrade spectral analysis.

The front end uses web technologies and Bootstrap. The GUI supports live camera feed, histogram view, camera settings, displacement plots, ASD plots updated every 30 s, and background report generation. RasAPI is RESTful, uses HTTP conventions and JSON data exchange, and includes access-control mechanisms. This is consistent with a design intended to integrate into larger DAQ or control systems.

For persistence, the paper describes hourly rolling files, direct write to file, minimal intermediate processing, and reduced computational overhead. It also mentions automatic file rotation, data compression, and PDF report generation with error and long-term stability metrics. Thread-safe multi-camera support is stated explicitly, and live monitoring is supported for up to two cameras. The reported memory footprint is typically below 500 MB. The implementation was tested on Ubuntu 18.04.4 LTS on a Dell OptiPlex 3020 with an Intel i5-4590, 8 GB RAM, and an NVIDIA GTX 1050.

The timing claims are also explicit. The abstract reports millisecond-level command latency, and the detailed discussion attributes sub-millisecond command latency to asynchronous processing and memory-mapped I/O, while also noting that queue build-up can dominate total delay if acquisition outpaces analysis.

5. Performance, linearity, and validation

The paper reports that RasCal’s real-time image processing shows 5 pm/9×99 \times 96 spatial resolution. With GPU acceleration, 274.5 Hz is achieved during live camera acquisition and 109 Hz on CPU; in maximum-throughput configurations, the processing rates exceed 300 Hz on simple consumer hardware (Koushik et al., 3 Oct 2025).

In the implementation benchmarks, CPU-only processing is approximately 9.2 ms per image, GPU processing is approximately 3.6 ms per image, and the move from CPU FFT to NVIDIA cuFFT yields a 2.6× speedup. The benchmark used a 43,000-image queue. The paper also reports CPU utilization of about 235% for CPU-only processing versus about 115% with GPU acceleration, and GPU utilization of about 25% during GPU processing.

The strongest noise-floor result is reported for the VATIGrav setup. In the locked proof-mass configuration, with a sample rate of 274.5 Hz, the ASD is below 10 pm/9×99 \times 97 between 5 Hz and 20 Hz and approaches 5 pm/9×99 \times 98 at high frequency. Residual peaks are reported at 2.5 Hz, 3.5 Hz, and around 50 Hz. In the unlocked configuration, a resonance near 0.740 Hz is observed, and above 5 Hz both isolation states converge to about 500 pm/9×99 \times 99.

The paper also emphasizes a nontrivial limitation: linearity error can reach 40 nm. At 8×88 \times 80 mrad it is about 35–40 nm peak-to-peak; at 8×88 \times 81 mrad it is about 10 nm peak-to-peak; and at 8×88 \times 82 mrad the periodic structure is minimal. This is not a contradiction of the picometer-class ASD floor; rather, it is a separate systematic phenomenon tied to discrete phase extraction. A common confusion is therefore resolved by the paper itself: static sensitivity and linearity are distinct metrological properties.

In thermal-vacuum testing of the LISA Quadrant Photoreceiver setup, the paper reports a thermal cycle from 8×88 \times 83 to 8×88 \times 84 in 8×88 \times 85 steps at 8×88 \times 86 mbar. The measured horizontal displacement coefficient is 8×88 \times 87 nm/K and the vertical displacement coefficient is 8×88 \times 88 nm/K, both within the stated requirement of 8×88 \times 89 nm/K. Maximum hysteresis is 264 nm, versus a requirement of 1000 nm.

6. Applications and name ambiguity

The paper demonstrates RasCal across several precision-measurement contexts. In VATIGrav, it is used to expose the intrinsic optical readout floor inside a quiet environment with active and passive isolation. In the Watt’s-linkage or RasWatt setting, it is used both to characterize the dynamic behavior of the linkage and to diagnose the velocity-dependent consequences of linearity error. In the LISA Quadrant Photoreceiver thermal-vacuum campaign, it provides continuous relative displacement tracking, absolute coded readout without cumulative drift, and monitoring of displacement, optical magnification, rotation, and pressure context (Koushik et al., 3 Oct 2025).

The term “RasCal” is also easy to confuse with several unrelated names in the literature. “RASCAL: Towards automated spectral wavelength calibration” is a Python library for automated wavelength calibration of astronomical spectrographs, with the acronym expanded as “RANSAC-Assisted Spectral CALibration” (Veitch-Michaelis et al., 2019). “Rascal” without the capitalized final syllable is a meta-programming language and language workbench whose main target areas are software analysis, software transformation, and domain-specific language engineering (Bos et al., 2011). “Bacatá: Notebooks for DSLs, Almost for Free” describes notebook interfaces for DSLs in the Rascal language workbench (Merino et al., 2020). “RASC: Region-Aware Self-Calibration for Dense 2D Sensor Arrays” is a five-stage self-calibration algorithm for dense 2D BJT-based temperature-sensor arrays (Ma et al., 12 May 2026). “Towards Reliable Rare Category Analysis on Graphs via Individual Calibration” is centered on CALIRARE rather than RasCal (Wu et al., 2023).

This naming overlap matters because RasCal in the Rasnik context is neither an astronomy wavelength-calibration package nor the Rascal language ecosystem. In the cited 2025 paper, it is specifically the control and analysis framework for a coded-mask optical displacement sensor.

7. Position within precision metrology

RasCal’s distinctive contribution is the coupling of absolute-coded optical sensing with a real-time software stack that is sufficiently complete for continuous operation. The paper presents it as robust and cost-effective for demanding alignment applications, and the phrase is supported by specific claims: thread-safe multi-camera support, millisecond-level command latency, GPU-accelerated 274.5 Hz live processing, and 5 pm/P(i,j)=((2i1)fx,(2j1)fy),P(i,j) = ((2i-1)f_x, (2j-1)f_y),0 spatial resolution under quiet conditions (Koushik et al., 3 Oct 2025).

At the same time, the paper is careful enough to show that RasCal is not reducible to a headline sensitivity number. It includes spectral-quality metrics, explicit treatment of peak geometry, uncertainty sources, and a dynamic linearity-error model, and it documents a systematic error regime in which periodic nonlinearity can dominate. This suggests a more precise characterization: RasCal is a software-defined metrology layer whose strength lies in integrating acquisition, coded-mask decoding, spectral estimation, and operational control, while making both the instrument’s picometer-class sensitivity and its nanometer-class systematic limits visible in the same framework.

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to RasCal.