Mercurial > hg > orthanc-stone
comparison Applications/StoneWebViewer/WebAssembly/StoneWebViewer.cpp @ 2092:b7d4d288459a dicom-sr
refactoring
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 08 Nov 2023 10:32:16 +0100 |
parents | 35de56fb6f89 |
children | c336e07b675c |
comparison
equal
deleted
inserted
replaced
2091:35de56fb6f89 | 2092:b7d4d288459a |
---|---|
210 public: | 210 public: |
211 virtual ~IFramesCollection() | 211 virtual ~IFramesCollection() |
212 { | 212 { |
213 } | 213 } |
214 | 214 |
215 // TODO - MUST BE REMOVED | |
216 virtual std::string GetStudyInstanceUid() const = 0; | |
217 | |
218 // TODO - MUST BE REMOVED | |
219 virtual std::string GetSeriesInstanceUid() const = 0; | |
220 | |
221 virtual size_t GetFramesCount() const = 0; | 215 virtual size_t GetFramesCount() const = 0; |
222 | 216 |
223 virtual const OrthancStone::DicomInstanceParameters& GetInstanceOfFrame(size_t frameIndex) const = 0; | 217 virtual const OrthancStone::DicomInstanceParameters& GetInstanceOfFrame(size_t frameIndex) const = 0; |
224 | 218 |
225 virtual unsigned int GetFrameNumberInInstance(size_t frameIndex) const = 0; | 219 virtual unsigned int GetFrameNumberInInstance(size_t frameIndex) const = 0; |
253 { | 247 { |
254 frames_.reset(frames); | 248 frames_.reset(frames); |
255 } | 249 } |
256 } | 250 } |
257 | 251 |
258 virtual std::string GetStudyInstanceUid() const ORTHANC_OVERRIDE | |
259 { | |
260 return frames_->GetStudyInstanceUid(); | |
261 } | |
262 | |
263 virtual std::string GetSeriesInstanceUid() const ORTHANC_OVERRIDE | |
264 { | |
265 return frames_->GetSeriesInstanceUid(); | |
266 } | |
267 | |
268 virtual size_t GetFramesCount() const ORTHANC_OVERRIDE | 252 virtual size_t GetFramesCount() const ORTHANC_OVERRIDE |
269 { | 253 { |
270 return frames_->GetFramesCount(); | 254 return frames_->GetFramesCount(); |
271 } | 255 } |
272 | 256 |
305 { | 289 { |
306 private: | 290 private: |
307 class Frame : public boost::noncopyable | 291 class Frame : public boost::noncopyable |
308 { | 292 { |
309 private: | 293 private: |
310 OrthancStone::DicomStructuredReport::Frame info_; | 294 OrthancStone::DicomStructuredReport::ReferencedFrame info_; |
311 Orthanc::DicomMap tags_; | 295 Orthanc::DicomMap tags_; |
312 std::unique_ptr<OrthancStone::DicomInstanceParameters> parameters_; | 296 std::unique_ptr<OrthancStone::DicomInstanceParameters> parameters_; |
313 | 297 |
314 public: | 298 public: |
315 Frame(const OrthancStone::DicomStructuredReport::Frame& info, | 299 Frame(const OrthancStone::DicomStructuredReport::ReferencedFrame& info, |
316 const OrthancStone::LoadedDicomResources& instances) : | 300 const OrthancStone::LoadedDicomResources& instances) : |
317 info_(info) | 301 info_(info) |
318 { | 302 { |
319 if (!instances.LookupResource(tags_, info.GetSopInstanceUid())) | 303 if (!instances.LookupResource(tags_, info.GetSopInstanceUid())) |
320 { | 304 { |
322 } | 306 } |
323 | 307 |
324 parameters_.reset(new OrthancStone::DicomInstanceParameters(tags_)); | 308 parameters_.reset(new OrthancStone::DicomInstanceParameters(tags_)); |
325 } | 309 } |
326 | 310 |
327 const OrthancStone::DicomStructuredReport::Frame& GetInformation() const | 311 const OrthancStone::DicomStructuredReport::ReferencedFrame& GetInformation() const |
328 { | 312 { |
329 return info_; | 313 return info_; |
330 } | 314 } |
331 | 315 |
332 const Orthanc::DicomMap& GetTags() const | 316 const Orthanc::DicomMap& GetTags() const |
374 DicomStructuredReportFrames(OrthancStone::DicomStructuredReport& sr, | 358 DicomStructuredReportFrames(OrthancStone::DicomStructuredReport& sr, |
375 const OrthancStone::LoadedDicomResources& instances) : | 359 const OrthancStone::LoadedDicomResources& instances) : |
376 studyInstanceUid_(sr.GetStudyInstanceUid()), | 360 studyInstanceUid_(sr.GetStudyInstanceUid()), |
377 seriesInstanceUid_(sr.GetSeriesInstanceUid()) | 361 seriesInstanceUid_(sr.GetSeriesInstanceUid()) |
378 { | 362 { |
379 std::list<OrthancStone::DicomStructuredReport::Frame> tmp; | 363 std::list<OrthancStone::DicomStructuredReport::ReferencedFrame> tmp; |
380 sr.ExportOrderedFrames(tmp); | 364 sr.ExportReferencedFrames(tmp); |
381 | 365 |
382 frames_.reserve(tmp.size()); | 366 frames_.reserve(tmp.size()); |
383 for (std::list<OrthancStone::DicomStructuredReport::Frame>::const_iterator | 367 for (std::list<OrthancStone::DicomStructuredReport::ReferencedFrame>::const_iterator |
384 it = tmp.begin(); it != tmp.end(); ++it) | 368 it = tmp.begin(); it != tmp.end(); ++it) |
385 { | 369 { |
386 try | 370 try |
387 { | 371 { |
388 frames_.push_back(new Frame(*it, instances)); | 372 frames_.push_back(new Frame(*it, instances)); |
397 } | 381 } |
398 | 382 |
399 virtual ~DicomStructuredReportFrames() | 383 virtual ~DicomStructuredReportFrames() |
400 { | 384 { |
401 Finalize(); | 385 Finalize(); |
402 } | |
403 | |
404 virtual std::string GetStudyInstanceUid() const ORTHANC_OVERRIDE | |
405 { | |
406 return studyInstanceUid_; | |
407 } | |
408 | |
409 virtual std::string GetSeriesInstanceUid() const ORTHANC_OVERRIDE | |
410 { | |
411 return seriesInstanceUid_; | |
412 } | 386 } |
413 | 387 |
414 virtual size_t GetFramesCount() const ORTHANC_OVERRIDE | 388 virtual size_t GetFramesCount() const ORTHANC_OVERRIDE |
415 { | 389 { |
416 return frames_.size(); | 390 return frames_.size(); |