// 'fold' calculated by counting traces in a gather may be incorrect if there are duplicate-key
// traces, so we'll ignore it and use the count of unique offset values
fold=static_cast<int>(offsetValues.size());
// check that offset start/end/step is consistent
if(offsetStart+(fold-1)*offsetStep!=offsetEnd)
if(isTraceOrderByOffset)
{
constauto
msgFormat="The detected gather offset start/end/step of '{0}/{1}/{2}' is not consistent with the detected fold of '{3}'. This may indicate an incorrect header format for Offset trace header.";
// 'fold' calculated by counting traces in a gather may be incorrect if there are duplicate-key
// traces, so we'll ignore it and use the count of unique offset values
fold=static_cast<int>(offsetValues.size());
// check that offset start/end/step is consistent
if(offsetStart+(fold-1)*offsetStep!=offsetEnd)
{
constauto
msgFormat="The detected gather offset start/end/step of '{0}/{1}/{2}' is not consistent with the detected fold of '{3}'. This may indicate an incorrect header format for Offset trace header.";
options.add_option("","","azimuth-unit",std::string("Azimuth unit. Supported azimuth units are: ")+supportedAzimuthUnits+".",cxxopts::value<std::string>(azimuthUnitString),"<string>");
options.add_option("","","azimuth-scale","Azimuth scale factor. Trace header field Azimuth values will be multiplied by this factor.",cxxopts::value<float>(azimuthScaleFactor),"<value>");
// TODO add option for turning off traceOrderByOffset
options.add_option("","h","help","Print this help information",cxxopts::value<bool>(help),"");
// TODO Need to multiply by 2 the result of VoxelIndexToDataIndex, because it gives the two-component offset, and we want the plain offset into a uint16_t buffer?