| Crates.io | frinZ |
| lib.rs | frinZ |
| version | 4.1.4 |
| created_at | 2025-08-28 10:52:59.196785+00 |
| updated_at | 2025-08-29 08:37:23.818314+00 |
| description | fringe search for Yamaguchi Interferometer and Japanese VLBI Network |
| homepage | |
| repository | https://github.com/M-AKIMOTOO/frinZrs |
| max_upload_size | |
| id | 1814014 |
| size | 1,159,784 |

Rust version of frinZ.py - A high-performance fringe-fitting tool for VLBI data analysis.
Original Python version: https://github.com/M-AKIMOTOO/frinZ.py
frinZrs is a Rust implementation of the frinZ fringe-fitting tool for processing Very Long Baseline Interferometry (VLBI) correlation data. It provides accurate delay and rate measurements with enhanced performance compared to the original Python version.
# Clone the repository
git clone https://github.com/M-AKIMOTOO/frinZrs.git
cd frinZrs
# Install to ~/.cargo/bin
cargo install --bin frinZ --path .
# OR
cargo install --bin frinZrs --path .
# Run directly
cargo run --bin frinZ --release -- [OPTIONS]
# OR
cargo run --bin frinZ-rs --release -- [OPTIONS]
Note: Both frinZ and frinZ-rs are identical programs. On Windows, antivirus software may flag the compiled binary.
frinZ [OPTIONS]
# Basic fringe fitting
frinZ --input data.cor
# With integration time and loop count
frinZ --input data.cor --length 30 --loop 5
# Skip first 10 seconds
frinZ --input data.cor --skip 10
# Basic phase referencing (calibrator, target)
frinZ --phase-reference cal.cor target.cor
# With polynomial degree and custom integration times
frinZ --phase-reference cal.cor target.cor 2 60 120 3
# Arguments: calibrator target fit_degree cal_length target_length loop
# Cross-power spectrum instead of fringe
frinZ --input data.cor --frequency
# Enable iterative search with custom iterations
frinZ --input data.cor --search --iter 5
# With search windows
frinZ --input data.cor --search --delay-window -10 10 --rate-window -0.1 0.1
# Apply delay and rate corrections
frinZ --input data.cor --delay-correct 5.2 --rate-correct -0.03
# Exclude frequency ranges (MHz)
frinZ --input data.cor --rfi "100,120" "400,500"
# Generate bandpass table
frinZ --input cal.cor --bandpass-table
# Apply existing bandpass calibration
frinZ --input data.cor --bandpass /path/to/bandpass_table.bin
# Save analysis results to text files
frinZ --input data.cor --output
# Show header information
frinZ --input data.cor --header
# Generate fringe plots
frinZ --input data.cor --plot
# Time series plots
frinZ --input data.cor --add-plot
# Cumulative SNR plots
frinZ --input data.cor --cumulate 10
frinZ --input data.cor \
--length 60 --loop 10 --skip 5 \
--search --iter 3 \
--delay-window -20 20 --rate-window -0.05 0.05 \
--rfi "150,200" \
--plot --add-plot --output \
--bandpass cal_bandpass.bin
frinZ --phase-reference cal.cor target.cor 1 30 60 5 \
--search --plot --output
frinZrs creates organized output directories:
frinZ/
├── fringe_graph/ # Delay/rate plots
│ ├── time_domain/
│ └── freq_domain/
├── fringe_output/ # Text analysis results
├── add_plot/ # Time series plots
├── cumulate/ # Cumulative SNR plots
├── bandpass_table/ # Bandpass calibration files
├── phase_reference/ # Phase reference outputs
└── cor_header/ # Header information
.txt): Analysis results with delay, rate, SNR, and statistics.bin, .cor): Complex spectra and calibrated data.png): Visualization of fringe patterns and time seriesOutput files follow the pattern:
{station1}_{station2}_{timestamp}_{source}_{band}_len{length}s[_rfi][_bp]
Example: YAMAGU32_YAMAGU34_2025001120000_3C84_x_len60s_rfi
--input <FILE>: Single .cor file for analysis--phase-reference <CAL> <TARGET> [OPTIONS]: Phase referencing mode--length <SECONDS>: Integration time (default: entire file)--skip <SECONDS>: Skip time from start (default: 0)--loop <COUNT>: Number of processing loops (default: 1)--cumulate <SECONDS>: Cumulative integration length--search: Enable precise search mode--iter <COUNT>: Search iterations (default: 3)--delay-window <MIN MAX>: Delay search range (samples)--rate-window <MIN MAX>: Rate search range (Hz)--delay-correct <VALUE>: Manual delay correction (samples)--rate-correct <VALUE>: Manual rate correction (Hz)--frequency: Frequency domain analysis--rfi <"MIN,MAX">: RFI frequency ranges to exclude (MHz)--bandpass <FILE>: Apply bandpass calibration--bandpass-table: Generate bandpass table--output: Save text results--header: Show header information--plot: Generate fringe plots--add-plot: Generate time series plots--cross-output: Output complex visibility data--dynamic-spectrum: Generate dynamic spectrum plotsfrinZrs provides significant performance improvements over the Python version:
The minor numerical differences (≤0.1%) compared to frinZ.py arise from:
This program is licensed under the MIT License.
(c) M.AKIMOTO with Gemini in 2025/08/04