std::string ZDvidUrl::getSparsevolUrl(uint64_t bodyId, const std::string &dataName) const { ZString str; str.appendNumber(bodyId); return GetFullUrl(getSparsevolUrl(dataName), str); }
std::string ZDvidUrl::getSparsevolUrl( uint64_t bodyId, const ZIntCuboid &box) const { ZString url = getSparsevolUrl(bodyId); if (url.empty()) { return ""; } return AppendRangeQuery(url, box); /* if (!box.isEmpty()) { url += "?minx="; url.appendNumber(box.getFirstCorner().getX()); url += "&maxx="; url.appendNumber(box.getLastCorner().getX()); url += "&miny="; url.appendNumber(box.getFirstCorner().getY()); url += "&maxy="; url.appendNumber(box.getLastCorner().getY()); url += "&minz="; url.appendNumber(box.getFirstCorner().getZ()); url += "&maxz="; url.appendNumber(box.getLastCorner().getZ()); } return url; */ }
std::string ZDvidUrl::getSparsevolUrl(int bodyId, int z) const { ZString url = getSparsevolUrl(bodyId) + "?minz="; url.appendNumber(z); url += "&maxz="; url.appendNumber(z); return url; }
std::string ZDvidUrl::getSplitTaskKey(const uint64_t bodyId) const { std::string key; std::string bodyUrl = getSparsevolUrl(bodyId); if (!bodyUrl.empty()) { key = "task__" + ZString(bodyUrl).replace(":", "-").replace("/", "+"); } return key; }
std::string ZDvidUrl::getSparsevolUrl( uint64_t bodyId, int z, neutube::EAxis axis) const { if (axis == neutube::EAxis::ARB) { return ""; } ZString url = getSparsevolUrl(bodyId); if (url.empty()) { return ""; } return AppendRangeQuery(url, z, z, axis, true); #if 0 switch (axis) { case neutube::Z_AXIS: url = AppendQueryM( url, {std::make_pair("minz", z), std::make_pair("maxz", z)}); // url = AppendQuery(url, std::make_pair("maxz", z)); // url += "?minz="; // url.appendNumber(z); // url += "&maxz="; break; case neutube::X_AXIS: url = AppendQueryM( url, {std::make_pair("minx", z), std::make_pair("maxx", z)}); // url += "?minx="; // url.appendNumber(z); // url += "&maxx="; break; case neutube::Y_AXIS: url = AppendQueryM( url, {std::make_pair("miny", z), std::make_pair("maxy", z)}); // url += "?miny="; // url.appendNumber(z); // url += "&maxy="; break; case neutube::A_AXIS: break; } url = AppendQuery(url, "exact=false"); // url.appendNumber(z); // url += "&exact=false"; return url; #endif }
std::string ZDvidUrl::getSparsevolUrl( int bodyId, const std::string &dataName) const { if (bodyId < 0) { return ""; } ZString str; str.appendNumber(bodyId); return getSparsevolUrl(dataName) + "/" + str; }
std::string ZDvidUrl::getMultiscaleSparsevolUrl(uint64_t bodyId, int zoom) const { std::string url; if (m_dvidTarget.hasMultiscaleSegmentation()) { url = getSparsevolUrl(bodyId); if (zoom > m_dvidTarget.getMaxLabelZoom()) { zoom = m_dvidTarget.getMaxLabelZoom(); } ZString option = "?scale="; option.appendNumber(zoom); url += option; } else { if (zoom == 0) { url = getSparsevolUrl(bodyId); } else { url = getSparsevolUrl(bodyId, m_dvidTarget.getBodyLabelName(zoom)); } } return url; }
std::string ZDvidUrl::getSparsevolUrl( uint64_t bodyId, int minZ, int maxZ, neutube::EAxis axis) const { if (axis == neutube::EAxis::ARB) { return ""; } ZString url = getSparsevolUrl(bodyId); if (url.empty()) { return ""; } return AppendRangeQuery(url, minZ, maxZ, axis, true); /* switch (axis) { case neutube::Z_AXIS: url += "?minz="; url.appendNumber(minZ); url += "&maxz="; url.appendNumber(maxZ); break; case neutube::X_AXIS: url += "?minx="; url.appendNumber(minZ); url += "&maxx="; url.appendNumber(maxZ); break; case neutube::Y_AXIS: url += "?miny="; url.appendNumber(minZ); url += "&maxy="; url.appendNumber(maxZ); break; case neutube::A_AXIS: break; } return url; */ }
std::string ZDvidUrl::getSparsevolUrl(uint64_t bodyId) const { return getSparsevolUrl(bodyId, m_dvidTarget.getBodyLabelName()); }