ClassFlowCNNGeneral.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #ifndef __CLASSCNNGENERAL__
  2. #define __CLASSCNNGENERAL__
  3. #include"ClassFlowDefineTypes.h"
  4. #include "ClassFlowAlignment.h"
  5. enum t_CNNType {
  6. AutoDetect,
  7. Analogue,
  8. Digital,
  9. DigitalHyprid,
  10. DigitalHyprid10,
  11. DoubleHyprid10,
  12. None
  13. };
  14. class ClassFlowCNNGeneral :
  15. public ClassFlowImage
  16. {
  17. protected:
  18. t_CNNType CNNType;
  19. std::vector<general*> GENERAL;
  20. float CNNGoodThreshold;
  21. string cnnmodelfile;
  22. int modelxsize, modelysize;
  23. bool isLogImageSelect;
  24. string LogImageSelect;
  25. ClassFlowAlignment* flowpostalignment;
  26. // ClassFlowPostProcessing *flowpostprocessing = NULL;
  27. bool SaveAllFiles;
  28. // bool extendedResolution;
  29. int ZeigerEval(float zahl, int ziffer_vorgaenger);
  30. int ZeigerEvalHybrid(float zahl, float zahl_vorgaenger, int eval_vorgaenger);
  31. bool doNeuralNetwork(string time);
  32. bool doAlignAndCut(string time);
  33. public:
  34. ClassFlowCNNGeneral(ClassFlowAlignment *_flowalign, t_CNNType _cnntype = AutoDetect);
  35. bool ReadParameter(FILE* pfile, string& aktparamgraph);
  36. bool doFlow(string time);
  37. string getHTMLSingleStep(string host);
  38. string getReadout(int _analog, bool _extendedResolution = false, int prev = -1);
  39. void DrawROI(CImageBasis *_zw);
  40. std::vector<HTMLInfo*> GetHTMLInfo();
  41. int getAnzahlGENERAL();
  42. general* GetGENERAL(int _analog);
  43. general* GetGENERAL(string _name, bool _create);
  44. general* FindGENERAL(string _name_number);
  45. string getNameGENERAL(int _analog);
  46. bool isExtendedResolution(int _number = 0);
  47. void UpdateNameNumbers(std::vector<std::string> *_name_numbers);
  48. t_CNNType getCNNType(){return CNNType;};
  49. string name(){return "ClassFlowCNNGeneral";};
  50. };
  51. #endif