Skip to content

Commit

Permalink
Make solset argument work
Browse files Browse the repository at this point in the history
  • Loading branch information
Frits Sweijen committed Mar 4, 2024
1 parent 1ccf711 commit 95beac6
Showing 1 changed file with 38 additions and 5 deletions.
43 changes: 38 additions & 5 deletions examples/h5info.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,51 @@ struct Args {
solset: String,
}

fn summarise_h5parm(h5parm: &String) {
fn summarise_h5parm(h5parm: &String, solset: String) {
let h5name = h5parm.split("/").last().unwrap();
println!("Summarising {}\n", h5name);
let h5 = lofar_h5parm_rs::H5parm::open(h5parm, false).expect("Failed to read H5parm.");
println!(
"{:<26} {:<19} {:<15} {:<11} {:<19}",
"Solutions", "Type", "Polarisations", "% flagged", "Antennas"
);
for ss in h5.solsets {
if solset.len() == 0 {
for ss in h5.solsets {
println!("|-{}", ss.name);
for st in ss.soltabs {
if st.is_fulljones {
println!(
"|---{:<15} Full-Jones: {} {}",
st.name,
st.is_fulljones,
st.get_polarisations()
);
} else {
println!(
"|---{:<22} {:<19} {:<15} {:<11} {:<19}",
st.name,
st.get_type(),
st.get_polarisations().to_vec().join(","),
st.get_flagged_fraction()
.iter()
.map(|m| format!("{:.3}%", m * 100.0))
.collect::<Vec<_>>()
.join(","),
st.get_antennas().len()
);
}
let h = st.get_history();
if h.len() > 0 {
println!("|\t{}", h);
}
println!("|");
}
println!();
}
} else {
let ss = h5.getSolSet(solset);
println!("|-{}", ss.name);
for st in ss.soltabs {
for st in &ss.soltabs {
if st.is_fulljones {
println!(
"|---{:<15} Full-Jones: {} {}",
Expand Down Expand Up @@ -60,12 +94,11 @@ fn summarise_h5parm(h5parm: &String) {
}
println!("|");
}
println!();
}
}

fn main() {
let args = Args::parse();
println!("H5parm: {}\n", args.h5parm);
summarise_h5parm(&args.h5parm);
summarise_h5parm(&args.h5parm, args.solset);
}

0 comments on commit 95beac6

Please sign in to comment.