comparison Framework/Radiography/RadiographyLayer.h @ 432:4eb96c6b4e96 am-vsol-upgrade

improved handling of MONOCHROME1, background and invertion
author am@osimis.io
date Mon, 03 Dec 2018 13:53:29 +0100
parents b85f635f1eb5
children 04711a2e12cd
comparison
equal deleted inserted replaced
431:26b90b110719 432:4eb96c6b4e96
28 namespace OrthancStone 28 namespace OrthancStone
29 { 29 {
30 class RadiographyLayer : public boost::noncopyable 30 class RadiographyLayer : public boost::noncopyable
31 { 31 {
32 friend class RadiographyScene; 32 friend class RadiographyScene;
33 33
34 public: 34 public:
35 class Geometry 35 class Geometry
36 { 36 {
37 bool hasCrop_; 37 bool hasCrop_;
38 unsigned int cropX_; 38 unsigned int cropX_;
137 unsigned int width_; 137 unsigned int width_;
138 unsigned int height_; 138 unsigned int height_;
139 AffineTransform2D transform_; 139 AffineTransform2D transform_;
140 AffineTransform2D transformInverse_; 140 AffineTransform2D transformInverse_;
141 Geometry geometry_; 141 Geometry geometry_;
142 PhotometricDisplayMode prefferedPhotometricDisplayMode_;
143
142 144
143 protected: 145 protected:
144 const AffineTransform2D& GetTransform() const 146 const AffineTransform2D& GetTransform() const
145 { 147 {
146 return transform_; 148 return transform_;
149 }
150
151 void SetPreferredPhotomotricDisplayMode(PhotometricDisplayMode prefferedPhotometricDisplayMode)
152 {
153 prefferedPhotometricDisplayMode_ = prefferedPhotometricDisplayMode;
147 } 154 }
148 155
149 private: 156 private:
150 void UpdateTransform(); 157 void UpdateTransform();
151 158
255 double viewportDistance) const; 262 double viewportDistance) const;
256 263
257 virtual bool GetDefaultWindowing(float& center, 264 virtual bool GetDefaultWindowing(float& center,
258 float& width) const = 0; 265 float& width) const = 0;
259 266
267 PhotometricDisplayMode GetPreferredPhotomotricDisplayMode() const
268 {
269 return prefferedPhotometricDisplayMode_;
270 }
271
260 virtual void Render(Orthanc::ImageAccessor& buffer, 272 virtual void Render(Orthanc::ImageAccessor& buffer,
261 const AffineTransform2D& viewTransform, 273 const AffineTransform2D& viewTransform,
262 ImageInterpolation interpolation) const = 0; 274 ImageInterpolation interpolation) const = 0;
263 275
264 virtual bool GetRange(float& minValue, 276 virtual bool GetRange(float& minValue,