19 个版本 (10 个稳定)
2.4.0 | 2024 年 4 月 29 日 |
---|---|
2.3.0 | 2024 年 1 月 5 日 |
2.2.1 | 2023 年 12 月 23 日 |
2.1.0 | 2023 年 7 月 1 日 |
0.1.2 | 2021 年 12 月 19 日 |
在 科学 中排名第 275
每月下载量 94
在 8 个 Crates 中使用(6 个直接使用)8 crates (6 directly)
71KB
1.5K SLoC
GMT 线性光学模型
lib.rs
:
巨型麦哲伦望远镜线性光学模型
应用于 GMT 的主次分段镜刚性体运动的几何线性变换
光学灵敏度可以从这里下载,或者可以使用带有 crseo
特性的 makesens 二进制文件重新计算,在具有 NVIDIA GPU 的计算机上运行。
示例
use std::iter::once;
use skyangle::Conversion;
use gmt_lom::LOM;
let m1_rbm = vec![vec![0f64; 6]; 7];
let mut m2_rbm = vec![vec![0f64; 6]; 7];
m2_rbm
.iter_mut()
.step_by(2)
.for_each(|str| {
str[3] = 1f64.from_arcsec();
str[4] = 1f64.from_arcsec();
});
m2_rbm[6][3] = 1f64.from_arcsec();
m2_rbm[6][4] = 1f64.from_arcsec();
let lom = LOM::builder()
.into_iter_rigid_body_motions(once((m1_rbm, m2_rbm)))
.build()
.unwrap();
let tt = lom.tiptilt();
println!(" Tiptilt: {:.0?}mas", tt);
let stt = lom.segment_tiptilt();
println!("Segment tiptilt:");
println!(" - x: {:.0?}mas", &stt[..7]);
println!(" - y: {:.0?}mas", &stt[7..]);
let sp = lom.segment_piston();
println!("Segment piston:");
sp.chunks(7).enumerate().for_each(|(k, sp)| println!(" - S{}: {:.0?}nm", k + 1, sp) );
依赖项
~6–23MB
~326K SLoC