00001 /* 00002 * Copyright (c) 2000, University of Amsterdam, The Netherlands. 00003 * All rights reserved. 00004 * 00005 * Author(s): 00006 * Dennis Koelma (koelma@wins.uva.nl) 00007 * 00008 */ 00009 00010 #ifndef HxRgbLab_h 00011 #define HxRgbLab_h 00012 00013 #include "HxTagList.h" 00014 #include "HxClassName.h" 00015 #include "HxColConvert.h" 00016 00017 00021 template<class ValT, class ValDoubleT> 00022 class HxRgbLab 00023 { 00024 public: 00026 typedef ValDoubleT ArithTypeDouble; 00027 00029 HxRgbLab(HxTagList&) 00030 {} 00031 00033 int doIt(const ValT& pixV) 00034 { 00035 return HxColRGB2int(HxColXYZ2RGB( 00036 HxColLab2XYZ((HxVec3Double) pixV))); 00037 } 00038 00040 int doItDouble(const ValDoubleT& pixV) 00041 { 00042 return HxColRGB2int(HxColXYZ2RGB( 00043 HxColLab2XYZ((HxVec3Double) pixV))); 00044 } 00045 00047 static HxString className() 00048 { return HxString("Lab"); } 00049 }; 00050 00051 00052 #endif