Mercurial > hg > orthanc-stone
comparison Framework/Volumes/DicomVolumeImageMPRSlicer.cpp @ 1287:8e82fdc6200e bugs/2020-02-invisible-slice
Heavy (temporary) logging in the path that leads
from multiframe volume to slice (rendered texture)
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Fri, 14 Feb 2020 15:00:54 +0100 |
parents | 2d8ab34c8c91 |
children | 343aa1dfaa90 |
comparison
equal
deleted
inserted
replaced
1286:ddb6676bbcbf | 1287:8e82fdc6200e |
---|---|
21 | 21 |
22 #include "DicomVolumeImageMPRSlicer.h" | 22 #include "DicomVolumeImageMPRSlicer.h" |
23 | 23 |
24 #include "../StoneException.h" | 24 #include "../StoneException.h" |
25 | 25 |
26 #include "../Toolbox/ImageToolbox.h" | |
27 | |
26 #include <Core/OrthancException.h> | 28 #include <Core/OrthancException.h> |
27 //#include <Core/Images/PngWriter.h> | 29 //#include <Core/Images/PngWriter.h> |
28 #include <Core/Images/JpegWriter.h> | 30 #include <Core/Images/JpegWriter.h> |
29 | 31 |
30 namespace OrthancStone | 32 namespace OrthancStone |
78 std::auto_ptr<TextureBaseSceneLayer> texture; | 80 std::auto_ptr<TextureBaseSceneLayer> texture; |
79 | 81 |
80 { | 82 { |
81 const DicomInstanceParameters& parameters = volume_.GetDicomParameters(); | 83 const DicomInstanceParameters& parameters = volume_.GetDicomParameters(); |
82 ImageBuffer3D::SliceReader reader(volume_.GetPixelData(), projection_, sliceIndex_); | 84 ImageBuffer3D::SliceReader reader(volume_.GetPixelData(), projection_, sliceIndex_); |
85 | |
86 if (OrthancStone_Internals_dump_LoadTexture_histogram == 1) | |
87 { | |
88 LOG(ERROR) << "+----------------------------------------+"; | |
89 LOG(ERROR) << "| This is not an error! |"; | |
90 LOG(ERROR) << "+----------------------------------------+"; | |
91 LOG(ERROR) << "Work on the \"invisible slice\" bug"; | |
92 LOG(ERROR) << "InvisibleSlice -- about to dump histogram (100 buckets) for volume_ " | |
93 << "with OrthancId: " << parameters.GetOrthancInstanceIdentifier() | |
94 << " and SopInstanceUid: " << parameters.GetSopInstanceUid() | |
95 << " for projection_ (AxiCorSag): projection_ " | |
96 << " and slice: " << sliceIndex_; | |
97 | |
98 HistogramData hd; | |
99 double minValue = 0; | |
100 double maxValue = 0; | |
101 ComputeMinMax(reader.GetAccessor(), minValue, maxValue); | |
102 double binSize = (maxValue - minValue) * 0.01; | |
103 ComputeHistogram(reader.GetAccessor(), hd, binSize); | |
104 std::string s; | |
105 DumpHistogramResult(s, hd); | |
106 LOG(ERROR) << s; | |
107 LOG(ERROR) << "+----------------------------------------+"; | |
108 LOG(ERROR) << "| end of debug dump |"; | |
109 LOG(ERROR) << "+----------------------------------------+"; | |
110 } | |
111 | |
83 texture.reset(dynamic_cast<TextureBaseSceneLayer*> | 112 texture.reset(dynamic_cast<TextureBaseSceneLayer*> |
84 (configurator->CreateTextureFromDicom(reader.GetAccessor(), parameters))); | 113 (configurator->CreateTextureFromDicom(reader.GetAccessor(), parameters))); |
85 | 114 |
86 // <DEBUG-BLOCK> | 115 // <DEBUG-BLOCK> |
87 #if 0 | 116 #if 0 |