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();