|
degate 0.1.1
|
00001 /* -*-c++-*- 00002 00003 This file is part of the IC reverse engineering tool degate. 00004 00005 Copyright 2008, 2009, 2010 by Martin Schobert 00006 00007 Degate is free software: you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation, either version 3 of the License, or 00010 any later version. 00011 00012 Degate is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with degate. If not, see <http://www.gnu.org/licenses/>. 00019 00020 */ 00021 00022 #ifndef __WIREMATCHING_H__ 00023 #define __WIREMATCHING_H__ 00024 00025 #include <Image.h> 00026 #include <Project.h> 00027 #include <TemplateMatching.h> 00028 00029 namespace degate { 00030 00031 class WireMatching : public Matching { 00032 00033 private: 00034 00035 Layer_shptr layer; 00036 LogicModel_shptr lmodel; 00037 unsigned int wire_diameter, median_filter_width; 00038 double sigma, min_edge_magnitude; 00039 BackgroundImage_shptr img; 00040 00041 BoundingBox bounding_box; 00042 00043 public: 00044 00045 WireMatching(); 00046 00047 /** 00048 * @exception InvalidPointerException 00049 * @exception DegateRuntimeException 00050 */ 00051 virtual void init(BoundingBox const& bounding_box, Project_shptr project); 00052 00053 virtual void run(); 00054 00055 void set_wire_diameter(unsigned int wire_diameter); 00056 void set_median_filter_width(unsigned int median_filter_width); 00057 void set_sigma(double sigma); 00058 void set_min_edge_magnitude(double min_edge_magnitude); 00059 00060 }; 00061 00062 typedef std::tr1::shared_ptr<WireMatching> WireMatching_shptr; 00063 } 00064 00065 #endif
1.7.4