BoundedTransmissionCartridge.h (1328B)
1 // File : BoundedTransmissionCartridge.h 2 // Date : Fri 29 Apr 2016 09:22:10 AM CEST 3 // Author : Fabian Wermelinger 4 // Description: Data BoundedTransmission Cartridge 5 // Copyright 2016 ETH Zurich. All Rights Reserved. 6 #ifndef BOUNDEDTRANSMISSIONCARTRIDGE_H_YDXLKPJU 7 #define BOUNDEDTRANSMISSIONCARTRIDGE_H_YDXLKPJU 8 9 #include <algorithm> 10 #include "TransmissionCartridge.h" 11 12 class BoundedTransmissionCartridge : public TransmissionCartridge 13 { 14 public: 15 BoundedTransmissionCartridge(ArgumentParser& parser) : TransmissionCartridge(parser) {} 16 17 virtual void capture(PhotoPaper& photo, Slice& data) 18 { 19 const Real upper = m_parser("-upper_bound").asDouble(1.0); 20 const Real lower = m_parser("-lower_bound").asDouble(0.0); 21 22 photo.make_new(photo.get_name()+"-boundedTransmission", data.width(), data.height()); 23 24 // set description 25 string desc("2D_Bounded_Transmission"); 26 photo.set_description(desc.c_str()); 27 28 // pixel shader 29 for (int h=0; h < data.height(); ++h) 30 for (int w=0; w < data.width(); ++w) 31 { 32 const Real bound = std::max(lower,std::min(upper,data(w,h))); 33 photo.set_pixel(bound, w, h); 34 } 35 36 photo.write(); 37 } 38 }; 39 40 #endif /* BOUNDEDTRANSMISSIONCARTRIDGE_H_YDXLKPJU */