/* Write ------------------------------------------------------------------- */ void CTF::write(std::ostream &out) { MetaDataTable MD; MD.addObject(); MD.setValue(EMDL_CTF_VOLTAGE, kV); MD.setValue(EMDL_CTF_DEFOCUSU, DeltafU); MD.setValue(EMDL_CTF_DEFOCUSV, DeltafV); MD.setValue(EMDL_CTF_DEFOCUS_ANGLE, azimuthal_angle); MD.setValue(EMDL_CTF_CS, Cs); MD.setValue(EMDL_CTF_BFACTOR, Bfac); MD.setValue(EMDL_CTF_SCALEFACTOR, scale); MD.setValue(EMDL_CTF_Q0, Q0); MD.setValue(EMDL_CTF_PHASESHIFT, PhaseShift); MD.write(out); }
void run() { EMDLabel label1, label2, label3; MD1.read(fn1); MD2.read(fn2); label1 = EMDL::str2Label(fn_label1); label2 = (fn_label2 == "") ? EMDL_UNDEFINED : EMDL::str2Label(fn_label2); label3 = (fn_label3 == "") ? EMDL_UNDEFINED : EMDL::str2Label(fn_label3); compareMetaDataTable(MD1, MD2, MDboth, MDonly1, MDonly2, label1, eps, label2, label3); std::cout << MDboth.numberOfObjects() << " entries occur in both input STAR files." << std::endl; std::cout << MDonly1.numberOfObjects() << " entries occur only in the 1st input STAR file." << std::endl; std::cout << MDonly2.numberOfObjects() << " entries occur only in the 2nd input STAR file." << std::endl; if (fn_both != "") MDboth.write(fn_both); if (fn_only1 != "") MDonly1.write(fn_only1); if (fn_only2 != "") MDonly2.write(fn_only2); }