00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef ___HxCorbaHistogram_h__
00016 #define ___HxCorbaHistogram_h__
00017
00018 #include <HxCorbaImageRep.h>
00019
00020 #ifndef OB_INTEGER_VERSION
00021 # error No ORBacus version defined! Is <OB/CORBA.h> included?
00022 #endif
00023
00024 #ifndef OB_NO_VERSION_CHECK
00025 # if (OB_INTEGER_VERSION != 4010000L)
00026 # error ORBacus version mismatch!
00027 # endif
00028 #endif
00029
00030 namespace HxCorba
00031 {
00032
00033 class HistogramData;
00034 typedef HistogramData* HistogramData_ptr;
00035 typedef HistogramData* HistogramDataRef;
00036
00037 extern OB::TypeCodeConst _tc_HistogramData;
00038
00039 class Histogram;
00040 typedef Histogram* Histogram_ptr;
00041 typedef Histogram* HistogramRef;
00042
00043 extern OB::TypeCodeConst _tc_Histogram;
00044
00045 class HistogramFactory;
00046 typedef HistogramFactory* HistogramFactory_ptr;
00047 typedef HistogramFactory* HistogramFactoryRef;
00048
00049 extern OB::TypeCodeConst _tc_HistogramFactory;
00050
00051 }
00052
00053 void OBDuplicate(HxCorba::HistogramData_ptr);
00054 void OBRelease(HxCorba::HistogramData_ptr);
00055
00056 void OBMarshal(HxCorba::HistogramData_ptr, OB::OutputStreamImpl*);
00057 void OBUnmarshal(HxCorba::HistogramData_ptr&, OB::InputStreamImpl*);
00058
00059 void OBDuplicate(HxCorba::Histogram_ptr);
00060 void OBRelease(HxCorba::Histogram_ptr);
00061
00062 void OBMarshal(HxCorba::Histogram_ptr, OB::OutputStreamImpl*);
00063 void OBUnmarshal(HxCorba::Histogram_ptr&, OB::InputStreamImpl*);
00064
00065 void OBDuplicate(HxCorba::HistogramFactory_ptr);
00066 void OBRelease(HxCorba::HistogramFactory_ptr);
00067
00068 void OBMarshal(HxCorba::HistogramFactory_ptr, OB::OutputStreamImpl*);
00069 void OBUnmarshal(HxCorba::HistogramFactory_ptr&, OB::InputStreamImpl*);
00070
00071 namespace HxCorba
00072 {
00073
00074 typedef OB::ObjVar< HistogramData > HistogramData_var;
00075 typedef OB::ObjOut< HistogramData > HistogramData_out;
00076
00077 typedef OB::ObjVar< Histogram > Histogram_var;
00078 typedef OB::ObjOut< Histogram > Histogram_out;
00079
00080 typedef OB::ObjVar< HistogramFactory > HistogramFactory_var;
00081 typedef OB::ObjOut< HistogramFactory > HistogramFactory_out;
00082
00083 }
00084
00085 namespace OBStubImpl_HxCorba
00086 {
00087
00088 class HistogramData;
00089 typedef HistogramData* HistogramData_ptr;
00090
00091 class Histogram;
00092 typedef Histogram* Histogram_ptr;
00093
00094 class HistogramFactory;
00095 typedef HistogramFactory* HistogramFactory_ptr;
00096
00097 }
00098
00099 void OBDuplicate(OBStubImpl_HxCorba::HistogramData_ptr);
00100 void OBRelease(OBStubImpl_HxCorba::HistogramData_ptr);
00101
00102 void OBDuplicate(OBStubImpl_HxCorba::Histogram_ptr);
00103 void OBRelease(OBStubImpl_HxCorba::Histogram_ptr);
00104
00105 void OBDuplicate(OBStubImpl_HxCorba::HistogramFactory_ptr);
00106 void OBRelease(OBStubImpl_HxCorba::HistogramFactory_ptr);
00107
00108 namespace OBStubImpl_HxCorba
00109 {
00110
00111 typedef OB::ObjVar< HistogramData > HistogramData_var;
00112
00113 typedef OB::ObjVar< Histogram > Histogram_var;
00114
00115 typedef OB::ObjVar< HistogramFactory > HistogramFactory_var;
00116
00117 }
00118
00119
00120
00121
00122 namespace HxCorba
00123 {
00124
00125
00126
00127
00128 class OBUnique_BinDataSequence { };
00129
00130 typedef OB::FixSeq< CORBA::Double, OBUnique_BinDataSequence > BinDataSequence;
00131 typedef OB::SeqVar< OB::FixSeq< CORBA::Double, OBUnique_BinDataSequence > > BinDataSequence_var;
00132 typedef OB::SeqOut< OB::FixSeq< CORBA::Double, OBUnique_BinDataSequence > > BinDataSequence_out;
00133 extern OB::TypeCodeConst _tc_BinDataSequence;
00134
00135 struct OBInfo_BinDataSequence : public OB::ConstructedInfo
00136 {
00137 OBInfo_BinDataSequence() { }
00138
00139 virtual void free(void* p) const
00140 {
00141 delete (BinDataSequence*)p;
00142 }
00143
00144 virtual void* dup(const void* p) const
00145 {
00146 return new BinDataSequence(*(const BinDataSequence*)p);
00147 }
00148
00149 virtual void marshal(const void*, OB::OutputStreamImpl*) const;
00150 virtual void unmarshal(void*, OB::InputStreamImpl*) const;
00151 };
00152
00153
00154
00155
00156 class HistogramData : virtual public CORBA::Object
00157 {
00158 HistogramData(const HistogramData&);
00159 void operator=(const HistogramData&);
00160
00161 protected:
00162
00163 static const char* ids_[];
00164
00165 public:
00166
00167 HistogramData() { }
00168 virtual ~HistogramData() { }
00169
00170 typedef HistogramData_ptr _ptr_type;
00171 typedef HistogramData_var _var_type;
00172
00173 static inline HistogramData_ptr
00174 _duplicate(HistogramData_ptr p)
00175 {
00176 if(p)
00177 p -> _add_ref();
00178 return p;
00179 }
00180
00181 static inline HistogramData_ptr
00182 _nil()
00183 {
00184 return 0;
00185 }
00186
00187 static HistogramData_ptr _narrow(CORBA::Object_ptr);
00188 static HistogramData_ptr _unchecked_narrow(CORBA::Object_ptr);
00189
00190 static HistogramData_ptr _narrow(CORBA::AbstractBase_ptr);
00191 static HistogramData_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
00192
00193 static const char** _OB_staticIds();
00194
00195
00196
00197
00198 virtual CORBA::Long dimensionality() = 0;
00199
00200
00201
00202
00203 virtual CORBA::Long dimensionSize(CORBA::Long dim) = 0;
00204
00205
00206
00207
00208 virtual CORBA::Long nrOfBins() = 0;
00209
00210
00211
00212
00213 virtual CORBA::Double lowBin(CORBA::Long dim) = 0;
00214
00215
00216
00217
00218 virtual CORBA::Double highBin(CORBA::Long dim) = 0;
00219
00220
00221
00222
00223 virtual CORBA::Double binWidth(CORBA::Long dim) = 0;
00224
00225
00226
00227
00228 virtual CORBA::Double binToValue(CORBA::Long bin,
00229 CORBA::Long dim) = 0;
00230
00231
00232
00233
00234 virtual CORBA::Long valueToBin(CORBA::Double value,
00235 CORBA::Long dim) = 0;
00236
00237
00238
00239
00240 virtual CORBA::Double get1(CORBA::Long bin1) = 0;
00241
00242
00243
00244
00245 virtual CORBA::Double get2(CORBA::Long bin1,
00246 CORBA::Long bin2) = 0;
00247
00248
00249
00250
00251 virtual CORBA::Double get3(CORBA::Long bin1,
00252 CORBA::Long bin2,
00253 CORBA::Long bin3) = 0;
00254
00255
00256
00257
00258 virtual CORBA::Double sum() = 0;
00259
00260
00261
00262
00263 virtual CORBA::Double minVal() = 0;
00264
00265
00266
00267
00268 virtual CORBA::Double maxVal() = 0;
00269
00270
00271
00272
00273 virtual CORBA::Double maxValIndex(CORBA::Long_out index) = 0;
00274
00275
00276
00277
00278 virtual BinDataSequence* getDataDouble() = 0;
00279 };
00280
00281
00282
00283
00284 struct HistogramMode;
00285 typedef OB::FixVar< HistogramMode > HistogramMode_var;
00286 typedef HistogramMode& HistogramMode_out;
00287
00288 struct HistogramMode
00289 {
00290 typedef HistogramMode_var _var_type;
00291
00292 CORBA::Double x;
00293 CORBA::Double y;
00294
00295 void _OB_marshal(OB::OutputStreamImpl*) const;
00296 static void _OB_unmarshal(HistogramMode&, OB::InputStreamImpl*);
00297 };
00298
00299 extern OB::TypeCodeConst _tc_HistogramMode;
00300
00301
00302
00303
00304 class OBUnique_HistogramModeSeq { };
00305
00306 typedef OB::FixSeq< HistogramMode, OBUnique_HistogramModeSeq > HistogramModeSeq;
00307 typedef OB::SeqVar< OB::FixSeq< HistogramMode, OBUnique_HistogramModeSeq > > HistogramModeSeq_var;
00308 typedef OB::SeqOut< OB::FixSeq< HistogramMode, OBUnique_HistogramModeSeq > > HistogramModeSeq_out;
00309 extern OB::TypeCodeConst _tc_HistogramModeSeq;
00310
00311 struct OBInfo_HistogramModeSeq : public OB::ConstructedInfo
00312 {
00313 OBInfo_HistogramModeSeq() { }
00314
00315 virtual void free(void* p) const
00316 {
00317 delete (HistogramModeSeq*)p;
00318 }
00319
00320 virtual void* dup(const void* p) const
00321 {
00322 return new HistogramModeSeq(*(const HistogramModeSeq*)p);
00323 }
00324
00325 virtual void marshal(const void*, OB::OutputStreamImpl*) const;
00326 virtual void unmarshal(void*, OB::InputStreamImpl*) const;
00327 };
00328
00329
00330
00331
00332 class Histogram : virtual public ::HxCorba::HistogramData
00333 {
00334 Histogram(const Histogram&);
00335 void operator=(const Histogram&);
00336
00337 protected:
00338
00339 static const char* ids_[];
00340
00341 public:
00342
00343 Histogram() { }
00344 virtual ~Histogram() { }
00345
00346 typedef Histogram_ptr _ptr_type;
00347 typedef Histogram_var _var_type;
00348
00349 static inline Histogram_ptr
00350 _duplicate(Histogram_ptr p)
00351 {
00352 if(p)
00353 p -> _add_ref();
00354 return p;
00355 }
00356
00357 static inline Histogram_ptr
00358 _nil()
00359 {
00360 return 0;
00361 }
00362
00363 static Histogram_ptr _narrow(CORBA::Object_ptr);
00364 static Histogram_ptr _unchecked_narrow(CORBA::Object_ptr);
00365
00366 static Histogram_ptr _narrow(CORBA::AbstractBase_ptr);
00367 static Histogram_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
00368
00369 static const char** _OB_staticIds();
00370
00371
00372
00373
00374 virtual Histogram_ptr smooth(CORBA::Double sigma) = 0;
00375
00376
00377
00378
00379 virtual HistogramModeSeq* modes() = 0;
00380
00381
00382
00383
00384 virtual Histogram_ptr normalize(CORBA::Double weight) = 0;
00385
00386
00387
00388
00389 virtual CORBA::Double intersection(Histogram_ptr h) = 0;
00390
00391
00392
00393
00394 virtual CORBA::Double chiSquare(Histogram_ptr h) = 0;
00395
00396
00397
00398
00399 virtual CORBA::Double chiSquareNorm(Histogram_ptr h) = 0;
00400
00401
00402
00403
00404 virtual Histogram_ptr threshold(CORBA::Double valThreshold) = 0;
00405
00406
00407
00408
00409 virtual CORBA::Long countBins(CORBA::Double valThreshold) = 0;
00410
00411
00412
00413
00414 virtual Histogram_ptr reduceRange(CORBA::Long binMin1,
00415 CORBA::Long binMax1,
00416 CORBA::Long binMin2,
00417 CORBA::Long binMax2,
00418 CORBA::Long binMin3,
00419 CORBA::Long binMax3) = 0;
00420
00421
00422
00423
00424 virtual Histogram_ptr reduceRangeVal(CORBA::Double binValMin1,
00425 CORBA::Double binValMax1,
00426 CORBA::Double binValMin2,
00427 CORBA::Double binValMax2,
00428 CORBA::Double binValMin3,
00429 CORBA::Double binValMax3) = 0;
00430
00431
00432
00433
00434 virtual Histogram_ptr to1D(CORBA::Long dim) = 0;
00435
00436
00437
00438
00439 virtual void render3d(RgbBuffer_ptr buf,
00440 CORBA::Long dataWidth,
00441 CORBA::Long dataHeight,
00442 CORBA::Double elevation,
00443 CORBA::Double alpha,
00444 CORBA::Double threshold) = 0;
00445
00446
00447
00448
00449 virtual void destroy() = 0;
00450
00451
00452
00453
00454 virtual void put() = 0;
00455 };
00456
00457
00458
00459
00460 class HistogramFactory : virtual public CORBA::Object
00461 {
00462 HistogramFactory(const HistogramFactory&);
00463 void operator=(const HistogramFactory&);
00464
00465 protected:
00466
00467 static const char* ids_[];
00468
00469 public:
00470
00471 HistogramFactory() { }
00472 virtual ~HistogramFactory() { }
00473
00474 typedef HistogramFactory_ptr _ptr_type;
00475 typedef HistogramFactory_var _var_type;
00476
00477 static inline HistogramFactory_ptr
00478 _duplicate(HistogramFactory_ptr p)
00479 {
00480 if(p)
00481 p -> _add_ref();
00482 return p;
00483 }
00484
00485 static inline HistogramFactory_ptr
00486 _nil()
00487 {
00488 return 0;
00489 }
00490
00491 static HistogramFactory_ptr _narrow(CORBA::Object_ptr);
00492 static HistogramFactory_ptr _unchecked_narrow(CORBA::Object_ptr);
00493
00494 static HistogramFactory_ptr _narrow(CORBA::AbstractBase_ptr);
00495 static HistogramFactory_ptr _unchecked_narrow(CORBA::AbstractBase_ptr);
00496
00497 static const char** _OB_staticIds();
00498
00499
00500
00501
00502 virtual Histogram_ptr makeHistogramFromFile(const char* filename) = 0;
00503 };
00504
00505
00506
00507
00508 class OBUnique_HistogramList { };
00509
00510 typedef OB::ObjSeq< Histogram, OBUnique_HistogramList > HistogramList;
00511 typedef OB::SeqVar< OB::ObjSeq< Histogram, OBUnique_HistogramList > > HistogramList_var;
00512 typedef OB::SeqOut< OB::ObjSeq< Histogram, OBUnique_HistogramList > > HistogramList_out;
00513 extern OB::TypeCodeConst _tc_HistogramList;
00514
00515 struct OBInfo_HistogramList : public OB::ConstructedInfo
00516 {
00517 OBInfo_HistogramList() { }
00518
00519 virtual void free(void* p) const
00520 {
00521 delete (HistogramList*)p;
00522 }
00523
00524 virtual void* dup(const void* p) const
00525 {
00526 return new HistogramList(*(const HistogramList*)p);
00527 }
00528
00529 virtual void marshal(const void*, OB::OutputStreamImpl*) const;
00530 virtual void unmarshal(void*, OB::InputStreamImpl*) const;
00531 };
00532
00533 }
00534
00535
00536
00537
00538 namespace OBProxy_HxCorba
00539 {
00540
00541
00542
00543
00544 class HistogramData : virtual public ::HxCorba::HistogramData,
00545 virtual public OBCORBA::Object
00546 {
00547 HistogramData(const HistogramData&);
00548 void operator=(const HistogramData&);
00549
00550 protected:
00551
00552 virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
00553
00554 public:
00555
00556 HistogramData() { }
00557 virtual ~HistogramData() { }
00558
00559 virtual const char** _OB_ids() const;
00560
00561
00562
00563
00564 CORBA::Long dimensionality();
00565
00566
00567
00568
00569 CORBA::Long dimensionSize(CORBA::Long dim);
00570
00571
00572
00573
00574 CORBA::Long nrOfBins();
00575
00576
00577
00578
00579 CORBA::Double lowBin(CORBA::Long dim);
00580
00581
00582
00583
00584 CORBA::Double highBin(CORBA::Long dim);
00585
00586
00587
00588
00589 CORBA::Double binWidth(CORBA::Long dim);
00590
00591
00592
00593
00594 CORBA::Double binToValue(CORBA::Long bin,
00595 CORBA::Long dim);
00596
00597
00598
00599
00600 CORBA::Long valueToBin(CORBA::Double value,
00601 CORBA::Long dim);
00602
00603
00604
00605
00606 CORBA::Double get1(CORBA::Long bin1);
00607
00608
00609
00610
00611 CORBA::Double get2(CORBA::Long bin1,
00612 CORBA::Long bin2);
00613
00614
00615
00616
00617 CORBA::Double get3(CORBA::Long bin1,
00618 CORBA::Long bin2,
00619 CORBA::Long bin3);
00620
00621
00622
00623
00624 CORBA::Double sum();
00625
00626
00627
00628
00629 CORBA::Double minVal();
00630
00631
00632
00633
00634 CORBA::Double maxVal();
00635
00636
00637
00638
00639 CORBA::Double maxValIndex(CORBA::Long_out index);
00640
00641
00642
00643
00644 ::HxCorba::BinDataSequence* getDataDouble();
00645 };
00646
00647
00648
00649
00650 class Histogram : virtual public ::HxCorba::Histogram,
00651 virtual public OBProxy_HxCorba::HistogramData
00652 {
00653 Histogram(const Histogram&);
00654 void operator=(const Histogram&);
00655
00656 protected:
00657
00658 virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
00659
00660 public:
00661
00662 Histogram() { }
00663 virtual ~Histogram() { }
00664
00665 virtual const char** _OB_ids() const;
00666
00667
00668
00669
00670 ::HxCorba::Histogram_ptr smooth(CORBA::Double sigma);
00671
00672
00673
00674
00675 ::HxCorba::HistogramModeSeq* modes();
00676
00677
00678
00679
00680 ::HxCorba::Histogram_ptr normalize(CORBA::Double weight);
00681
00682
00683
00684
00685 CORBA::Double intersection(::HxCorba::Histogram_ptr h);
00686
00687
00688
00689
00690 CORBA::Double chiSquare(::HxCorba::Histogram_ptr h);
00691
00692
00693
00694
00695 CORBA::Double chiSquareNorm(::HxCorba::Histogram_ptr h);
00696
00697
00698
00699
00700 ::HxCorba::Histogram_ptr threshold(CORBA::Double valThreshold);
00701
00702
00703
00704
00705 CORBA::Long countBins(CORBA::Double valThreshold);
00706
00707
00708
00709
00710 ::HxCorba::Histogram_ptr reduceRange(CORBA::Long binMin1,
00711 CORBA::Long binMax1,
00712 CORBA::Long binMin2,
00713 CORBA::Long binMax2,
00714 CORBA::Long binMin3,
00715 CORBA::Long binMax3);
00716
00717
00718
00719
00720 ::HxCorba::Histogram_ptr reduceRangeVal(CORBA::Double binValMin1,
00721 CORBA::Double binValMax1,
00722 CORBA::Double binValMin2,
00723 CORBA::Double binValMax2,
00724 CORBA::Double binValMin3,
00725 CORBA::Double binValMax3);
00726
00727
00728
00729
00730 ::HxCorba::Histogram_ptr to1D(CORBA::Long dim);
00731
00732
00733
00734
00735 void render3d(::HxCorba::RgbBuffer_ptr buf,
00736 CORBA::Long dataWidth,
00737 CORBA::Long dataHeight,
00738 CORBA::Double elevation,
00739 CORBA::Double alpha,
00740 CORBA::Double threshold);
00741
00742
00743
00744
00745 void destroy();
00746
00747
00748
00749
00750 void put();
00751 };
00752
00753
00754
00755
00756 class HistogramFactory : virtual public ::HxCorba::HistogramFactory,
00757 virtual public OBCORBA::Object
00758 {
00759 HistogramFactory(const HistogramFactory&);
00760 void operator=(const HistogramFactory&);
00761
00762 protected:
00763
00764 virtual OB::MarshalStubImpl_ptr _OB_createMarshalStubImpl();
00765
00766 public:
00767
00768 HistogramFactory() { }
00769 virtual ~HistogramFactory() { }
00770
00771 virtual const char** _OB_ids() const;
00772
00773
00774
00775
00776 ::HxCorba::Histogram_ptr makeHistogramFromFile(const char* filename);
00777 };
00778
00779 }
00780
00781
00782
00783
00784 namespace OBStubImpl_HxCorba
00785 {
00786
00787
00788
00789
00790 class HistogramData : virtual public OB::StubImplBase
00791 {
00792 HistogramData(const HistogramData&);
00793 void operator=(const HistogramData&);
00794
00795 protected:
00796
00797 HistogramData() { }
00798
00799 public:
00800
00801 static inline HistogramData_ptr
00802 _duplicate(HistogramData_ptr p)
00803 {
00804 if(p)
00805 p -> _OB_incRef();
00806 return p;
00807 }
00808
00809 static inline HistogramData_ptr
00810 _nil()
00811 {
00812 return 0;
00813 }
00814
00815
00816
00817
00818 virtual CORBA::Long dimensionality() = 0;
00819
00820
00821
00822
00823 virtual CORBA::Long dimensionSize(CORBA::Long dim) = 0;
00824
00825
00826
00827
00828 virtual CORBA::Long nrOfBins() = 0;
00829
00830
00831
00832
00833 virtual CORBA::Double lowBin(CORBA::Long dim) = 0;
00834
00835
00836
00837
00838 virtual CORBA::Double highBin(CORBA::Long dim) = 0;
00839
00840
00841
00842
00843 virtual CORBA::Double binWidth(CORBA::Long dim) = 0;
00844
00845
00846
00847
00848 virtual CORBA::Double binToValue(CORBA::Long bin,
00849 CORBA::Long dim) = 0;
00850
00851
00852
00853
00854 virtual CORBA::Long valueToBin(CORBA::Double value,
00855 CORBA::Long dim) = 0;
00856
00857
00858
00859
00860 virtual CORBA::Double get1(CORBA::Long bin1) = 0;
00861
00862
00863
00864
00865 virtual CORBA::Double get2(CORBA::Long bin1,
00866 CORBA::Long bin2) = 0;
00867
00868
00869
00870
00871 virtual CORBA::Double get3(CORBA::Long bin1,
00872 CORBA::Long bin2,
00873 CORBA::Long bin3) = 0;
00874
00875
00876
00877
00878 virtual CORBA::Double sum() = 0;
00879
00880
00881
00882
00883 virtual CORBA::Double minVal() = 0;
00884
00885
00886
00887
00888 virtual CORBA::Double maxVal() = 0;
00889
00890
00891
00892
00893 virtual CORBA::Double maxValIndex(CORBA::Long_out index) = 0;
00894
00895
00896
00897
00898 virtual ::HxCorba::BinDataSequence* getDataDouble() = 0;
00899 };
00900
00901
00902
00903
00904 class Histogram : virtual public OBStubImpl_HxCorba::HistogramData
00905 {
00906 Histogram(const Histogram&);
00907 void operator=(const Histogram&);
00908
00909 protected:
00910
00911 Histogram() { }
00912
00913 public:
00914
00915 static inline Histogram_ptr
00916 _duplicate(Histogram_ptr p)
00917 {
00918 if(p)
00919 p -> _OB_incRef();
00920 return p;
00921 }
00922
00923 static inline Histogram_ptr
00924 _nil()
00925 {
00926 return 0;
00927 }
00928
00929
00930
00931
00932 virtual ::HxCorba::Histogram_ptr smooth(CORBA::Double sigma) = 0;
00933
00934
00935
00936
00937 virtual ::HxCorba::HistogramModeSeq* modes() = 0;
00938
00939
00940
00941
00942 virtual ::HxCorba::Histogram_ptr normalize(CORBA::Double weight) = 0;
00943
00944
00945
00946
00947 virtual CORBA::Double intersection(::HxCorba::Histogram_ptr h) = 0;
00948
00949
00950
00951
00952 virtual CORBA::Double chiSquare(::HxCorba::Histogram_ptr h) = 0;
00953
00954
00955
00956
00957 virtual CORBA::Double chiSquareNorm(::HxCorba::Histogram_ptr h) = 0;
00958
00959
00960
00961
00962 virtual ::HxCorba::Histogram_ptr threshold(CORBA::Double valThreshold) = 0;
00963
00964
00965
00966
00967 virtual CORBA::Long countBins(CORBA::Double valThreshold) = 0;
00968
00969
00970
00971
00972 virtual ::HxCorba::Histogram_ptr reduceRange(CORBA::Long binMin1,
00973 CORBA::Long binMax1,
00974 CORBA::Long binMin2,
00975 CORBA::Long binMax2,
00976 CORBA::Long binMin3,
00977 CORBA::Long binMax3) = 0;
00978
00979
00980
00981
00982 virtual ::HxCorba::Histogram_ptr reduceRangeVal(CORBA::Double binValMin1,
00983 CORBA::Double binValMax1,
00984 CORBA::Double binValMin2,
00985 CORBA::Double binValMax2,
00986 CORBA::Double binValMin3,
00987 CORBA::Double binValMax3) = 0;
00988
00989
00990
00991
00992 virtual ::HxCorba::Histogram_ptr to1D(CORBA::Long dim) = 0;
00993
00994
00995
00996
00997 virtual void render3d(::HxCorba::RgbBuffer_ptr buf,
00998 CORBA::Long dataWidth,
00999 CORBA::Long dataHeight,
01000 CORBA::Double elevation,
01001 CORBA::Double alpha,
01002 CORBA::Double threshold) = 0;
01003
01004
01005
01006
01007 virtual void destroy() = 0;
01008
01009
01010
01011
01012 virtual void put() = 0;
01013 };
01014
01015
01016
01017
01018 class HistogramFactory : virtual public OB::StubImplBase
01019 {
01020 HistogramFactory(const HistogramFactory&);
01021 void operator=(const HistogramFactory&);
01022
01023 protected:
01024
01025 HistogramFactory() { }
01026
01027 public:
01028
01029 static inline HistogramFactory_ptr
01030 _duplicate(HistogramFactory_ptr p)
01031 {
01032 if(p)
01033 p -> _OB_incRef();
01034 return p;
01035 }
01036
01037 static inline HistogramFactory_ptr
01038 _nil()
01039 {
01040 return 0;
01041 }
01042
01043
01044
01045
01046 virtual ::HxCorba::Histogram_ptr makeHistogramFromFile(const char* filename) = 0;
01047 };
01048
01049 }
01050
01051
01052
01053
01054 namespace OBMarshalStubImpl_HxCorba
01055 {
01056
01057
01058
01059
01060 class HistogramData : virtual public OBStubImpl_HxCorba::HistogramData,
01061 virtual public OB::MarshalStubImpl
01062 {
01063 HistogramData(const HistogramData&);
01064 void operator=(const HistogramData&);
01065
01066 protected:
01067
01068 HistogramData() { }
01069 friend class OBProxy_HxCorba::HistogramData;
01070
01071 public:
01072
01073
01074
01075
01076 virtual CORBA::Long dimensionality();
01077
01078
01079
01080
01081 virtual CORBA::Long dimensionSize(CORBA::Long dim);
01082
01083
01084
01085
01086 virtual CORBA::Long nrOfBins();
01087
01088
01089
01090
01091 virtual CORBA::Double lowBin(CORBA::Long dim);
01092
01093
01094
01095
01096 virtual CORBA::Double highBin(CORBA::Long dim);
01097
01098
01099
01100
01101 virtual CORBA::Double binWidth(CORBA::Long dim);
01102
01103
01104
01105
01106 virtual CORBA::Double binToValue(CORBA::Long bin,
01107 CORBA::Long dim);
01108
01109
01110
01111
01112 virtual CORBA::Long valueToBin(CORBA::Double value,
01113 CORBA::Long dim);
01114
01115
01116
01117
01118 virtual CORBA::Double get1(CORBA::Long bin1);
01119
01120
01121
01122
01123 virtual CORBA::Double get2(CORBA::Long bin1,
01124 CORBA::Long bin2);
01125
01126
01127
01128
01129 virtual CORBA::Double get3(CORBA::Long bin1,
01130 CORBA::Long bin2,
01131 CORBA::Long bin3);
01132
01133
01134
01135
01136 virtual CORBA::Double sum();
01137
01138
01139
01140
01141 virtual CORBA::Double minVal();
01142
01143
01144
01145
01146 virtual CORBA::Double maxVal();
01147
01148
01149
01150
01151 virtual CORBA::Double maxValIndex(CORBA::Long_out index);
01152
01153
01154
01155
01156 virtual ::HxCorba::BinDataSequence* getDataDouble();
01157 };
01158
01159
01160
01161
01162 class Histogram : virtual public OBStubImpl_HxCorba::Histogram,
01163 virtual public OBMarshalStubImpl_HxCorba::HistogramData
01164 {
01165 Histogram(const Histogram&);
01166 void operator=(const Histogram&);
01167
01168 protected:
01169
01170 Histogram() { }
01171 friend class OBProxy_HxCorba::Histogram;
01172
01173 public:
01174
01175
01176
01177
01178 virtual ::HxCorba::Histogram_ptr smooth(CORBA::Double sigma);
01179
01180
01181
01182
01183 virtual ::HxCorba::HistogramModeSeq* modes();
01184
01185
01186
01187
01188 virtual ::HxCorba::Histogram_ptr normalize(CORBA::Double weight);
01189
01190
01191
01192
01193 virtual CORBA::Double intersection(::HxCorba::Histogram_ptr h);
01194
01195
01196
01197
01198 virtual CORBA::Double chiSquare(::HxCorba::Histogram_ptr h);
01199
01200
01201
01202
01203 virtual CORBA::Double chiSquareNorm(::HxCorba::Histogram_ptr h);
01204
01205
01206
01207
01208 virtual ::HxCorba::Histogram_ptr threshold(CORBA::Double valThreshold);
01209
01210
01211
01212
01213 virtual CORBA::Long countBins(CORBA::Double valThreshold);
01214
01215
01216
01217
01218 virtual ::HxCorba::Histogram_ptr reduceRange(CORBA::Long binMin1,
01219 CORBA::Long binMax1,
01220 CORBA::Long binMin2,
01221 CORBA::Long binMax2,
01222 CORBA::Long binMin3,
01223 CORBA::Long binMax3);
01224
01225
01226
01227
01228 virtual ::HxCorba::Histogram_ptr reduceRangeVal(CORBA::Double binValMin1,
01229 CORBA::Double binValMax1,
01230 CORBA::Double binValMin2,
01231 CORBA::Double binValMax2,
01232 CORBA::Double binValMin3,
01233 CORBA::Double binValMax3);
01234
01235
01236
01237
01238 virtual ::HxCorba::Histogram_ptr to1D(CORBA::Long dim);
01239
01240
01241
01242
01243 virtual void render3d(::HxCorba::RgbBuffer_ptr buf,
01244 CORBA::Long dataWidth,
01245 CORBA::Long dataHeight,
01246 CORBA::Double elevation,
01247 CORBA::Double alpha,
01248 CORBA::Double threshold);
01249
01250
01251
01252
01253 virtual void destroy();
01254
01255
01256
01257
01258 virtual void put();
01259 };
01260
01261
01262
01263
01264 class HistogramFactory : virtual public OBStubImpl_HxCorba::HistogramFactory,
01265 virtual public OB::MarshalStubImpl
01266 {
01267 HistogramFactory(const HistogramFactory&);
01268 void operator=(const HistogramFactory&);
01269
01270 protected:
01271
01272 HistogramFactory() { }
01273 friend class OBProxy_HxCorba::HistogramFactory;
01274
01275 public:
01276
01277
01278
01279
01280 virtual ::HxCorba::Histogram_ptr makeHistogramFromFile(const char* filename);
01281 };
01282
01283 }
01284
01285
01286
01287
01288 namespace OBV_HxCorba
01289 {
01290
01291 }
01292
01293
01294
01295
01296 void operator<<=(CORBA::Any&, HxCorba::BinDataSequence*);
01297 void operator<<=(CORBA::Any&, const HxCorba::BinDataSequence&);
01298 CORBA::Boolean operator>>=(const CORBA::Any&, const HxCorba::BinDataSequence*&);
01299
01300 inline void
01301 operator<<=(CORBA::Any_var& any, HxCorba::BinDataSequence* val)
01302 {
01303 any.inout() <<= val;
01304 }
01305
01306 inline void
01307 operator<<=(CORBA::Any_var& any, const HxCorba::BinDataSequence& val)
01308 {
01309 any.inout() <<= val;
01310 }
01311
01312 inline CORBA::Boolean
01313 operator>>=(const CORBA::Any_var& any, const HxCorba::BinDataSequence*& val)
01314 {
01315 return any.in() >>= val;
01316 }
01317
01318
01319
01320
01321 namespace CORBA
01322 {
01323
01324 inline void
01325 release(::HxCorba::HistogramData_ptr p)
01326 {
01327 if(p)
01328 p -> _remove_ref();
01329 }
01330
01331 inline Boolean
01332 is_nil(::HxCorba::HistogramData_ptr p)
01333 {
01334 return p == 0;
01335 }
01336
01337 inline void
01338 release(OBStubImpl_HxCorba::HistogramData_ptr p)
01339 {
01340 if(p)
01341 p -> _OB_decRef();
01342 }
01343
01344 inline Boolean
01345 is_nil(OBStubImpl_HxCorba::HistogramData_ptr p)
01346 {
01347 return p == 0;
01348 }
01349
01350 }
01351
01352 void operator<<=(CORBA::Any&, HxCorba::HistogramData_ptr*);
01353 void operator<<=(CORBA::Any&, HxCorba::HistogramData_ptr);
01354 CORBA::Boolean operator>>=(const CORBA::Any&, HxCorba::HistogramData_ptr&);
01355
01356 inline void
01357 operator<<=(CORBA::Any_var& any, HxCorba::HistogramData_ptr* val)
01358 {
01359 any.inout() <<= val;
01360 }
01361
01362 inline void
01363 operator<<=(CORBA::Any_var& any, HxCorba::HistogramData_ptr val)
01364 {
01365 any.inout() <<= val;
01366 }
01367
01368 inline CORBA::Boolean
01369 operator>>=(const CORBA::Any_var& any, HxCorba::HistogramData_ptr& val)
01370 {
01371 return any.in() >>= val;
01372 }
01373
01374
01375
01376
01377 void operator<<=(CORBA::Any&, HxCorba::HistogramMode*);
01378 void operator<<=(CORBA::Any&, const HxCorba::HistogramMode&);
01379 CORBA::Boolean operator>>=(const CORBA::Any&, const HxCorba::HistogramMode*&);
01380
01381 inline void
01382 operator<<=(CORBA::Any_var& any, HxCorba::HistogramMode* val)
01383 {
01384 any.inout() <<= val;
01385 }
01386
01387 inline void
01388 operator<<=(CORBA::Any_var& any, const HxCorba::HistogramMode& val)
01389 {
01390 any.inout() <<= val;
01391 }
01392
01393 inline CORBA::Boolean
01394 operator>>=(const CORBA::Any_var& any, const HxCorba::HistogramMode*& val)
01395 {
01396 return any.in() >>= val;
01397 }
01398
01399
01400
01401
01402 void operator<<=(CORBA::Any&, HxCorba::HistogramModeSeq*);
01403 void operator<<=(CORBA::Any&, const HxCorba::HistogramModeSeq&);
01404 CORBA::Boolean operator>>=(const CORBA::Any&, const HxCorba::HistogramModeSeq*&);
01405
01406 inline void
01407 operator<<=(CORBA::Any_var& any, HxCorba::HistogramModeSeq* val)
01408 {
01409 any.inout() <<= val;
01410 }
01411
01412 inline void
01413 operator<<=(CORBA::Any_var& any, const HxCorba::HistogramModeSeq& val)
01414 {
01415 any.inout() <<= val;
01416 }
01417
01418 inline CORBA::Boolean
01419 operator>>=(const CORBA::Any_var& any, const HxCorba::HistogramModeSeq*& val)
01420 {
01421 return any.in() >>= val;
01422 }
01423
01424
01425
01426
01427 namespace CORBA
01428 {
01429
01430 inline void
01431 release(::HxCorba::Histogram_ptr p)
01432 {
01433 if(p)
01434 p -> _remove_ref();
01435 }
01436
01437 inline Boolean
01438 is_nil(::HxCorba::Histogram_ptr p)
01439 {
01440 return p == 0;
01441 }
01442
01443 inline void
01444 release(OBStubImpl_HxCorba::Histogram_ptr p)
01445 {
01446 if(p)
01447 p -> _OB_decRef();
01448 }
01449
01450 inline Boolean
01451 is_nil(OBStubImpl_HxCorba::Histogram_ptr p)
01452 {
01453 return p == 0;
01454 }
01455
01456 }
01457
01458 void operator<<=(CORBA::Any&, HxCorba::Histogram_ptr*);
01459 void operator<<=(CORBA::Any&, HxCorba::Histogram_ptr);
01460 CORBA::Boolean operator>>=(const CORBA::Any&, HxCorba::Histogram_ptr&);
01461
01462 inline void
01463 operator<<=(CORBA::Any_var& any, HxCorba::Histogram_ptr* val)
01464 {
01465 any.inout() <<= val;
01466 }
01467
01468 inline void
01469 operator<<=(CORBA::Any_var& any, HxCorba::Histogram_ptr val)
01470 {
01471 any.inout() <<= val;
01472 }
01473
01474 inline CORBA::Boolean
01475 operator>>=(const CORBA::Any_var& any, HxCorba::Histogram_ptr& val)
01476 {
01477 return any.in() >>= val;
01478 }
01479
01480
01481
01482
01483 namespace CORBA
01484 {
01485
01486 inline void
01487 release(::HxCorba::HistogramFactory_ptr p)
01488 {
01489 if(p)
01490 p -> _remove_ref();
01491 }
01492
01493 inline Boolean
01494 is_nil(::HxCorba::HistogramFactory_ptr p)
01495 {
01496 return p == 0;
01497 }
01498
01499 inline void
01500 release(OBStubImpl_HxCorba::HistogramFactory_ptr p)
01501 {
01502 if(p)
01503 p -> _OB_decRef();
01504 }
01505
01506 inline Boolean
01507 is_nil(OBStubImpl_HxCorba::HistogramFactory_ptr p)
01508 {
01509 return p == 0;
01510 }
01511
01512 }
01513
01514 void operator<<=(CORBA::Any&, HxCorba::HistogramFactory_ptr*);
01515 void operator<<=(CORBA::Any&, HxCorba::HistogramFactory_ptr);
01516 CORBA::Boolean operator>>=(const CORBA::Any&, HxCorba::HistogramFactory_ptr&);
01517
01518 inline void
01519 operator<<=(CORBA::Any_var& any, HxCorba::HistogramFactory_ptr* val)
01520 {
01521 any.inout() <<= val;
01522 }
01523
01524 inline void
01525 operator<<=(CORBA::Any_var& any, HxCorba::HistogramFactory_ptr val)
01526 {
01527 any.inout() <<= val;
01528 }
01529
01530 inline CORBA::Boolean
01531 operator>>=(const CORBA::Any_var& any, HxCorba::HistogramFactory_ptr& val)
01532 {
01533 return any.in() >>= val;
01534 }
01535
01536
01537
01538
01539 void operator<<=(CORBA::Any&, HxCorba::HistogramList*);
01540 void operator<<=(CORBA::Any&, const HxCorba::HistogramList&);
01541 CORBA::Boolean operator>>=(const CORBA::Any&, const HxCorba::HistogramList*&);
01542
01543 inline void
01544 operator<<=(CORBA::Any_var& any, HxCorba::HistogramList* val)
01545 {
01546 any.inout() <<= val;
01547 }
01548
01549 inline void
01550 operator<<=(CORBA::Any_var& any, const HxCorba::HistogramList& val)
01551 {
01552 any.inout() <<= val;
01553 }
01554
01555 inline CORBA::Boolean
01556 operator>>=(const CORBA::Any_var& any, const HxCorba::HistogramList*& val)
01557 {
01558 return any.in() >>= val;
01559 }
01560
01561 #endif