void dumpConfigFile()

in source/isp/CameraIsp.h [675:761]


  void dumpConfigFile(const std::string configFileName) {
    std::ofstream ofs(configFileName.c_str(), std::ios::out);
    if (ofs) {
      ofs.precision(3);
      ofs << std::fixed;
      ofs << "{\n";
      ofs << "   \"CameraIsp\" : {\n";
      ofs << "        \"serial\" : 0,\n";
      ofs << "        \"name\" : \"RED Helium\",\n";
      ofs << "        \"compandingLut\" :  [";
      for (int i = 0; i < int(compandingLut.size()); ++i) {
        if (i > 0) {
          ofs << "                            ";
        }
        ofs << "[" << compandingLut[i].x << ", " << compandingLut[i].y << ", " << compandingLut[i].z
            << "]";
        if (i < int(compandingLut.size()) - 1) {
          ofs << ",\n";
        }
      }
      ofs << "],\n";
      ofs << "        \"blackLevel\" : [" << blackLevel.x << ", " << blackLevel.y << ", "
          << blackLevel.z << "],\n";
      ofs << "        \"clampMin\" : [" << clampMin.x << ", " << clampMin.y << ", " << clampMin.z
          << "],\n";
      ofs << "        \"clampMax\" : [" << clampMax.x << ", " << clampMax.y << ", " << clampMax.z
          << "],\n";
      ofs << "        \"vignetteRollOffH\" :  [";
      for (int i = 0; i < int(vignetteRollOffH.size()); ++i) {
        if (i > 0) {
          ofs << "                               ";
        }
        ofs << "[" << vignetteRollOffH[i].x << ", " << vignetteRollOffH[i].y << ", "
            << vignetteRollOffH[i].z << "]";
        if (i < int(vignetteRollOffH.size()) - 1) {
          ofs << ",\n";
        }
      }
      ofs << "],\n";
      ofs << "        \"vignetteRollOffV\" :  [";
      for (int i = 0; i < int(vignetteRollOffV.size()); ++i) {
        if (i > 0) {
          ofs << "                               ";
        }
        ofs << "[" << vignetteRollOffV[i].x << ", " << vignetteRollOffV[i].y << ", "
            << vignetteRollOffV[i].z << "]";
        if (i < int(vignetteRollOffV.size()) - 1) {
          ofs << ",\n";
        }
      }
      ofs << "],\n";
      ofs << "        \"whiteBalanceGain\" : [" << whiteBalanceGain.x << "," << whiteBalanceGain.y
          << "," << whiteBalanceGain.z << "],\n";
      ofs << "        \"stuckPixelThreshold\" : " << stuckPixelThreshold << ",\n";
      ofs << "        \"stuckPixelDarknessThreshold\" : " << stuckPixelDarknessThreshold << ",\n";
      ofs << "        \"stuckPixelRadius\" : " << stuckPixelRadius << ",\n";
      ofs.precision(5);
      ofs << std::fixed;
      ofs << "        \"ccm\" : [[" << ccm(0, 0) << ", " << ccm(0, 1) << ", " << ccm(0, 2)
          << "],\n";
      ofs << "                 [" << ccm(1, 0) << ", " << ccm(1, 1) << ", " << ccm(1, 2) << "],\n";
      ofs << "                 [" << ccm(2, 0) << ", " << ccm(2, 1) << ", " << ccm(2, 2) << "]],\n";
      ofs.precision(3);
      ofs << std::fixed;
      ofs << "        \"sharpening\" : [" << sharpening.x << ", " << sharpening.y << ", "
          << sharpening.z << "],\n";
      ofs << "        \"saturation\" : " << saturation << ",\n";
      ofs << "        \"contrast\" : " << contrast << ",\n";
      ofs << "        \"lowKeyBoost\" : [" << lowKeyBoost.x << ", " << lowKeyBoost.y << ", "
          << lowKeyBoost.z << "],\n";
      ofs << "        \"highKeyBoost\" : [" << highKeyBoost.x << ", " << highKeyBoost.y << ", "
          << highKeyBoost.z << "],\n";
      ofs << "        \"gamma\" : [" << gamma.x << ", " << gamma.y << ", " << gamma.z << "],\n";
      ofs << "        \"bayerPattern\" : \"" << bayerPattern << "\",\n";
      ofs << "        \"isLittleEndian\" : " << isLittleEndian << ",\n";
      ofs << "        \"isPlanar\" : " << isPlanar << ",\n";
      ofs << "        \"isRowMajor\" : " << isRowMajor << ",\n";
      ofs << "        \"width\" : " << sensorWidth << ",\n";
      ofs << "        \"height\" : " << sensorHeight << ",\n";
      ofs << "        \"bitsPerPixel\" : " << sensorBitsPerPixel << ",\n";
      ofs << "        \"planeOrder\" : \"" << planeOrder << "\"\n";
      ofs << "    }\n";
      ofs << "}\n";
    } else {
      CHECK(false) << "unable to open output ISP config file: " << configFileName;
    }
  }