// ----------------------------------------------------------------------------- // // ----------------------------------------------------------------------------- int H5CtfImporter::writeSliceData(hid_t fileId, CtfReader &reader, int z, int actualSlice) { // std::cout << "Writing Slice " << actualSlice << " as " << z << std::endl; int err = 0; // Start creating the HDF5 group structures for this file hid_t ctfGroup = H5Utilities::createGroup(fileId, StringUtils::numToString(z)); if(ctfGroup < 0) { std::ostringstream ss; ss << "H5CtfImporter Error: A Group for Z index " << z << " could not be created." << " Please check other error messages from the HDF5 library for possible reasons."; setPipelineMessage(ss.str()); setErrorCondition(-500); return -1; } hid_t gid = H5Utilities::createGroup(ctfGroup, Ebsd::H5::Header); if(gid < 0) { std::ostringstream ss; ss << "H5CtfImporter Error: The 'Header' Group for Z index " << z << " could not be created." << " Please check other error messages from the HDF5 library for possible reasons."; progressMessage(ss.str(), 100); err = H5Gclose(ctfGroup); setPipelineMessage(ss.str()); setErrorCondition(-600); return -1; } WRITE_EBSD_HEADER_STRING_DATA(reader, std::string, Prj, Ebsd::Ctf::Prj); WRITE_EBSD_HEADER_STRING_DATA(reader, std::string, Author, Ebsd::Ctf::Author); WRITE_EBSD_HEADER_STRING_DATA(reader, std::string, JobMode, Ebsd::Ctf::JobMode); WRITE_EBSD_HEADER_DATA(reader, int, XCells, Ebsd::Ctf::XCells) xDim = reader.getXCells(); WRITE_EBSD_HEADER_DATA(reader, int, YCells, Ebsd::Ctf::YCells) yDim = reader.getYCells(); WRITE_EBSD_HEADER_DATA(reader, float, XStep, Ebsd::Ctf::XStep) xRes = reader.getXStep(); WRITE_EBSD_HEADER_DATA(reader, float, YStep, Ebsd::Ctf::YStep) yRes = reader.getYStep(); float* zPtr = reader.getZPointer(); if(NULL != zPtr) { WRITE_EBSD_HEADER_DATA(reader, int, ZCells, Ebsd::Ctf::ZCells) zDim = reader.getZCells(); WRITE_EBSD_HEADER_DATA(reader, float, ZStep, Ebsd::Ctf::ZStep) zRes = reader.getZStep(); }