void SliceOrdering::Format(Json::Value& result) const { result = Json::objectValue; result["Type"] = (isVolume_ ? "Volume" : "Sequence"); Json::Value tmp = Json::arrayValue; for (size_t i = 0; i < GetInstancesCount(); i++) { tmp.append(GetBasePath(ResourceType_Instance, GetInstanceId(i)) + "/file"); } result["Dicom"] = tmp; Json::Value slicesShort = Json::arrayValue; tmp.clear(); for (size_t i = 0; i < GetInstancesCount(); i++) { std::string base = GetBasePath(ResourceType_Instance, GetInstanceId(i)); for (size_t j = 0; j < GetFramesCount(i); j++) { tmp.append(base + "/frames/" + boost::lexical_cast<std::string>(j)); } Json::Value tmp2 = Json::arrayValue; tmp2.append(GetInstanceId(i)); tmp2.append(0); tmp2.append(GetFramesCount(i)); slicesShort.append(tmp2); } result["Slices"] = tmp; result["SlicesShort"] = slicesShort; }
uint_t FramesCount() const override { if (!Frames) { Frames = GetFramesCount(); } return Frames; }