\hypertarget{namespacemeow}{\section{meow Namespace Reference}
\label{namespacemeow}\index{meow@{meow}}
}
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classmeow_1_1Color3__Space}{Color3\-\_\-\-Space}
\begin{DoxyCompactList}\small\item\em 以三個channel所組成的色彩空間 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}
\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}
\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}
\begin{DoxyCompactList}\small\item\em 以整數 {\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}
\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Red}, {\bfseries Green}, {\bfseries Blue} 三個值所組成的色彩空間 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}
\begin{DoxyCompactList}\small\item\em 以浮點數{\bfseries Y}(亮度), {\bfseries U}(色度), {\bfseries V}(濃度) 三個值所組成的色彩空間 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1BinaryIndexTree}{Binary\-Index\-Tree}
\begin{DoxyCompactList}\small\item\em 極度簡化的 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} 已無區間更新的操作 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1DisjointSet}{Disjoint\-Set}
\begin{DoxyCompactList}\small\item\em 用來維護一堆互斥集的資訊 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1HashTableList}{Hash\-Table\-List}
\begin{DoxyCompactList}\small\item\em 一個當key相撞時會用list解決的hash\-\_\-table \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1KD__Tree}{K\-D\-\_\-\-Tree}
\begin{DoxyCompactList}\small\item\em {\ttfamily k-\/dimension} tree \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1MergeableHeap}{Mergeable\-Heap}
\begin{DoxyCompactList}\small\item\em 一個用 {\bfseries 左偏樹} 實作的 {\ttfamily Maximum-\/\-Heap} , 除了原本heap有的功能外, 還支援 {\ttfamily merge} 功能 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}
\begin{DoxyCompactList}\small\item\em 中文名 {\ttfamily 線段樹} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1SplayTree}{Splay\-Tree}
\begin{DoxyCompactList}\small\item\em 是一種神乎其技的資料結構, 維護一堆 Key-\/$>$Value . 並且支援 一些 {\ttfamily std\-::map} 難以快速實踐的操作, 如 {\ttfamily split} , {\ttfamily merge} , {\ttfamily key\-Offset} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1SplayTree__Range}{Splay\-Tree\-\_\-\-Range}
\begin{DoxyCompactList}\small\item\em 基本上跟\-Splay\-Tree一樣, 不過這邊結合線段樹, 多了區間操作 (線段樹相關operator定義請見 {\ttfamily \hyperlink{classmeow_1_1SegmentTree}{Segment\-Tree}} ) \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1VP__Tree}{V\-P\-\_\-\-Tree}
\begin{DoxyCompactList}\small\item\em 跟\-K\-D\-\_\-\-Tree很像歐 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Vector2D}{Vector2\-D}
\begin{DoxyCompactList}\small\item\em 2\-D's vector \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Vector3D}{Vector3\-D}
\begin{DoxyCompactList}\small\item\em 3\-D's vector \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Bitmap}{Bitmap}
\begin{DoxyCompactList}\small\item\em 二維點陣資料 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Camera}{Camera}
\begin{DoxyCompactList}\small\item\em \hyperlink{classmeow_1_1Camera}{Camera}. \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1FeaturePoint}{Feature\-Point}
\begin{DoxyCompactList}\small\item\em 特徵點 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1FeaturePointsDetector}{Feature\-Points\-Detector}
\item 
class \hyperlink{classmeow_1_1FeaturePointsDetector__Harris}{Feature\-Points\-Detector\-\_\-\-Harris}
\begin{DoxyCompactList}\small\item\em Harris corner detect. \end{DoxyCompactList}\item 
struct \hyperlink{structmeow_1_1FeaturePointIndexPair}{Feature\-Point\-Index\-Pair}
\item 
class \hyperlink{classmeow_1_1FeaturePointsMatch}{Feature\-Points\-Match}
\item 
class \hyperlink{classmeow_1_1FeaturePointsMatch__K__Match}{Feature\-Points\-Match\-\_\-\-K\-\_\-\-Match}
\item 
class \hyperlink{classmeow_1_1IdentityPoints}{Identity\-Points}
\begin{DoxyCompactList}\small\item\em 把一個 {\ttfamily std\-::map$<$I\-D},Vector$<$\-Scalar$>$ $>$ 包起來 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Photo}{Photo}
\begin{DoxyCompactList}\small\item\em 底片 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ViewPort}{View\-Port}
\begin{DoxyCompactList}\small\item\em 未完待續 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1WatchBall}{Watch\-Ball}
\begin{DoxyCompactList}\small\item\em {\bfseries 多個camera}, 一個offset, 一個rotation \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1LinearTransformation}{Linear\-Transformation}
\begin{DoxyCompactList}\small\item\em A base class for implementing kinds of linear transformations. \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Rotation3D}{Rotation3\-D}
\begin{DoxyCompactList}\small\item\em Rotation a point/vector alone an axis with given angle in 3\-D world. \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Matrix}{Matrix}
\begin{DoxyCompactList}\small\item\em {\bfseries matrix} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Transformation}{Transformation}
\begin{DoxyCompactList}\small\item\em A base class for implementing kinds of transformations. \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1BallProjection}{Ball\-Projection}
\begin{DoxyCompactList}\small\item\em A ball projection is to project the given vector to a hyper-\/sphere. \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1PhotoProjection}{Photo\-Projection}
\begin{DoxyCompactList}\small\item\em A {\bfseries photo} {\bfseries projection} is a kind of transformation that project point/vector to a flat {\bfseries photo}. \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Vector}{Vector}
\begin{DoxyCompactList}\small\item\em {\bfseries vector} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ObjArray}{Obj\-Array}
\begin{DoxyCompactList}\small\item\em 純粹把 {\ttfamily std\-::vector} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ObjBase}{Obj\-Base}
\begin{DoxyCompactList}\small\item\em 一切物件的\-Base, 並要求每個物件都要有read, write, create, ... 等功能 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ObjDictionary}{Obj\-Dictionary}
\begin{DoxyCompactList}\small\item\em 純粹把 {\ttfamily std\-::map} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ObjProperties}{Obj\-Properties}
\begin{DoxyCompactList}\small\item\em 目前擺爛中 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ObjSelector}{Obj\-Selector}
\begin{DoxyCompactList}\small\item\em 利用register的概念, 達到runtime用string選擇要new的class \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ObjType}{Obj\-Type}
\begin{DoxyCompactList}\small\item\em 純粹把給定的 {\ttfamily Type} 包起來, 變成繼承自 \hyperlink{classmeow_1_1ObjBase}{Obj\-Base} \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1ReaderWriter__int}{Reader\-Writer\-\_\-int}
\item 
class \hyperlink{classmeow_1_1ReaderWriter__size__t}{Reader\-Writer\-\_\-size\-\_\-t}
\item 
class \hyperlink{classmeow_1_1ReaderWriter__double}{Reader\-Writer\-\_\-double}
\item 
class \hyperlink{classmeow_1_1ReaderWriter__string}{Reader\-Writer\-\_\-string}
\item 
class \hyperlink{classmeow_1_1Self}{Self}
\begin{DoxyCompactList}\small\item\em 具有copy on write, 且擁有比\-C++更靈活的reference機制 \end{DoxyCompactList}\item 
class \hyperlink{classmeow_1_1Usage}{Usage}
\begin{DoxyCompactList}\small\item\em 管理參數設置, 自訂usage document, 分析argc, argv \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef std\-::vector\\*
$<$ \hyperlink{structmeow_1_1FeaturePointIndexPair}{Feature\-Point\-Index\-Pair} $>$ \hyperlink{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{Feature\-Point\-Index\-Pairs}
\item 
typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ \hyperlink{classint}{int}, \\*
\hyperlink{classmeow_1_1ReaderWriter__int}{Reader\-Writer\-\_\-int} $>$ \hyperlink{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}{Obj\-Int}
\item 
typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ size\-\_\-t, \\*
\hyperlink{classmeow_1_1ReaderWriter__size__t}{Reader\-Writer\-\_\-size\-\_\-t} $>$ \hyperlink{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}{Obj\-Size\-T}
\item 
typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ \hyperlink{classdouble}{double}, \\*
\hyperlink{classmeow_1_1ReaderWriter__double}{Reader\-Writer\-\_\-double} $>$ \hyperlink{namespacemeow_a936afddaa5716457741832ee501c7a58}{Obj\-Double}
\item 
typedef \hyperlink{classmeow_1_1ObjType}{Obj\-Type}$<$ std\-::string, \\*
\hyperlink{classmeow_1_1ReaderWriter__string}{Reader\-Writer\-\_\-string} $>$ \hyperlink{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}{Obj\-String}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{namespacemeow_af9ab85cd87a9f843e710657188f4c601}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$rgb)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$rgb)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a1591a113b022322f1119894a83a56625}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a19e830f03459a25435ff963551772e74}{color\-Transformate} (\hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} const \&hsl, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$rgb)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space} $\ast$hsl)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a303120584f2d7e474096da63bec4cdf5}{color\-Transformate} (\hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} const \&hsv, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$rgb)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a0239dc74535f528644a22e3e86e5221c}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space} $\ast$hsv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a764c66bb63095b178107b276eb0cc24e}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&a, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$b)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a5612b34e84764e275631d662e5f210cb}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&a, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$b)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a6ebfe120c658a6320de42c449e485e54}{color\-Transformate} (\hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_ab4756ef949554840f60a762661acc103}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space} $\ast$rgb)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}{color\-Transformate} (\hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} const \&rgb, \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} $\ast$yuv)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_af4d344590a86168090c2f2322289f080}{color\-Transformate} (\hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space} const \&yuv, \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space} $\ast$rgb)
\begin{DoxyCompactList}\small\item\em {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} \end{DoxyCompactList}\item 
{\footnotesize template$<$class Data , class Weighting\-Class $>$ }\\std\-::vector$<$ Data $>$ \hyperlink{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}{ransac} (std\-::vector$<$ Data $>$ const \&data, Weighting\-Class const \&w, size\-\_\-t N, \hyperlink{classdouble}{double} p0, \hyperlink{classdouble}{double} P)
\begin{DoxyCompactList}\small\item\em Run the {\bfseries R\-A\-N\-S\-A\-C} method to approach the best solution. \end{DoxyCompactList}\item 
{\footnotesize template$<$class Scalar , class F , class J , class I , class Stop $>$ }\\\hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ \hyperlink{namespacemeow_a8e4a4baed7fb497f170075648ac95077}{levenberg\-Marquardt} (F const \&func, J const \&jaco, I const \&iden, \hyperlink{classmeow_1_1Vector}{Vector}$<$ Scalar $>$ const \&init, Stop const \&stop, \hyperlink{classint}{int} counter=-\/1)
\begin{DoxyCompactList}\small\item\em Run the {\bfseries Levenberg-\/\-Marquardt} method to solve a non-\/linear least squares problem. \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}{no\-E\-P\-S} (T value, T eps=1e-\/9)
\begin{DoxyCompactList}\small\item\em 如果abs(輸入的數值) $<$ eps, 則回傳0, 否則回傳輸入的數值 \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}{normalize} (T lower, T upper, T value)
\begin{DoxyCompactList}\small\item\em {\ttfamily }(value-\/lower)/(upper-\/lower) \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}{denormalize} (T lower, T upper, T \-\_\-ratio)
\begin{DoxyCompactList}\small\item\em {\ttfamily }(lower+\-\_\-ratio$\ast$(upper-\/lower)) \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}{ratio\-Mapping} (T l1, T u1, T m1, T l2, T u2)
\begin{DoxyCompactList}\small\item\em {\ttfamily denormalize}(l2,u2,normalize(l1,u1,m1)) \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}{in\-Range} (T const \&mn, T const \&mx, T const \&v)
\begin{DoxyCompactList}\small\item\em {\ttfamily std\-::min}(mx,std\-::max(mn,v)) \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}{squ} (T const \&x)
\begin{DoxyCompactList}\small\item\em {\ttfamily x$\ast$x} \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}{cub} (T const \&x)
\begin{DoxyCompactList}\small\item\em {\ttfamily x$\ast$x$\ast$x} \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}{average} (T const \&beg, T const \&end, \hyperlink{classdouble}{double} sigs)
\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均 \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\\hyperlink{classdouble}{double} \hyperlink{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}{average} (T const \&beg, T const \&end, T const \&p, \hyperlink{classdouble}{double} sigs)
\begin{DoxyCompactList}\small\item\em 只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均, 不過這次用 {\ttfamily p} 來加權平均 \end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\T \hyperlink{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}{t\-Abs} (T const \&t)
\begin{DoxyCompactList}\small\item\em 就只是個取絕對值 \end{DoxyCompactList}\item 
std\-::string \hyperlink{namespacemeow_a09946550cc38b132151643d3408b0175}{string\-Printf} (char const $\ast$fmt,...)
\begin{DoxyCompactList}\small\item\em 類似\-C的printf, 不過是將格式化的字串丟到 {\ttfamily std\-::string} 裡回傳 \end{DoxyCompactList}\item 
std\-::string \hyperlink{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}{string\-Replace} (std\-::string str, std\-::string const \&from, std\-::string const \&to)
\begin{DoxyCompactList}\small\item\em 將輸入字串中的某個pattern取代成另一個pattern \end{DoxyCompactList}\item 
bool \hyperlink{namespacemeow_a375bf0494e671d61343f5be28f3204fb}{cstring\-End\-With} (char const $\ast$str, \hyperlink{classint}{int} n,...)
\begin{DoxyCompactList}\small\item\em 檢查給定字串的結尾是否符合給定的數個patterns中的一個 \end{DoxyCompactList}\item 
void \hyperlink{namespacemeow_a644a491d867da42696e3cf226019fc25}{debug\-Printf\-\_\-} (char const $\ast$file, char const $\ast$func, size\-\_\-t line, char const $\ast$msg)
\item 
void \hyperlink{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}{message\-Printf} (\hyperlink{classint}{int} level\-\_\-change, char const $\ast$fmt,...)
\begin{DoxyCompactList}\small\item\em 階層式輸出 \end{DoxyCompactList}\item 
bool \hyperlink{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}{filename\-Compare} (std\-::string const \&f1, std\-::string const \&f2)
\begin{DoxyCompactList}\small\item\em 將兩個字串用人類習慣的檔名排序方式排序 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static const \hyperlink{classdouble}{double} \hyperlink{namespacemeow_aa86d5920087a4e73078b759bc3996f76}{P\-I} = 3.\-14159265358979323846264338327950288
\begin{DoxyCompactList}\small\item\em 圓周率... \end{DoxyCompactList}\item 
static const size\-\_\-t \hyperlink{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}{k\-Global\-Seletor\-I\-D} = 0
\end{DoxyCompactItemize}


\subsection{Typedef Documentation}
\hypertarget{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}{\index{meow@{meow}!Feature\-Point\-Index\-Pairs@{Feature\-Point\-Index\-Pairs}}
\index{Feature\-Point\-Index\-Pairs@{Feature\-Point\-Index\-Pairs}!meow@{meow}}
\subsubsection[{Feature\-Point\-Index\-Pairs}]{\setlength{\rightskip}{0pt plus 5cm}typedef std\-::vector$<${\bf Feature\-Point\-Index\-Pair}$>$ {\bf meow\-::\-Feature\-Point\-Index\-Pairs}}}\label{namespacemeow_a03cd29a3b4f8874be532a4b0c9422961}
\hypertarget{namespacemeow_a936afddaa5716457741832ee501c7a58}{\index{meow@{meow}!Obj\-Double@{Obj\-Double}}
\index{Obj\-Double@{Obj\-Double}!meow@{meow}}
\subsubsection[{Obj\-Double}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<${\bf double} , {\bf Reader\-Writer\-\_\-double}$>$ {\bf meow\-::\-Obj\-Double}}}\label{namespacemeow_a936afddaa5716457741832ee501c7a58}
\hypertarget{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}{\index{meow@{meow}!Obj\-Int@{Obj\-Int}}
\index{Obj\-Int@{Obj\-Int}!meow@{meow}}
\subsubsection[{Obj\-Int}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<${\bf int} , {\bf Reader\-Writer\-\_\-int} $>$ {\bf meow\-::\-Obj\-Int}}}\label{namespacemeow_add07dcc8e06a1394daa3e6402bc40c4b}
\hypertarget{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}{\index{meow@{meow}!Obj\-Size\-T@{Obj\-Size\-T}}
\index{Obj\-Size\-T@{Obj\-Size\-T}!meow@{meow}}
\subsubsection[{Obj\-Size\-T}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<$size\-\_\-t , {\bf Reader\-Writer\-\_\-size\-\_\-t}$>$ {\bf meow\-::\-Obj\-Size\-T}}}\label{namespacemeow_a52b9d9ec3b004a9335222e7bf30e521a}
\hypertarget{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}{\index{meow@{meow}!Obj\-String@{Obj\-String}}
\index{Obj\-String@{Obj\-String}!meow@{meow}}
\subsubsection[{Obj\-String}]{\setlength{\rightskip}{0pt plus 5cm}typedef {\bf Obj\-Type}$<$std\-::string, {\bf Reader\-Writer\-\_\-string}$>$ {\bf meow\-::\-Obj\-String}}}\label{namespacemeow_a52d52e58feff5e9f9013279e2dbd2fee}


\subsection{Function Documentation}
\hypertarget{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}{\index{meow@{meow}!average@{average}}
\index{average@{average}!meow@{meow}}
\subsubsection[{average}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf double} meow\-::average (
\begin{DoxyParamCaption}
\item[{T const \&}]{beg, }
\item[{T const \&}]{end, }
\item[{{\bf double}}]{sigs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ad4d1e5fa951e5534204a0ee3eee22777}


只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均 

\hypertarget{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}{\index{meow@{meow}!average@{average}}
\index{average@{average}!meow@{meow}}
\subsubsection[{average}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ {\bf double} meow\-::average (
\begin{DoxyParamCaption}
\item[{T const \&}]{beg, }
\item[{T const \&}]{end, }
\item[{T const \&}]{p, }
\item[{{\bf double}}]{sigs}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a6ae78e60d507c85de003f8fa8423b650}


只將 {\ttfamily sigs} 個標準差以內的數據拿來取平均, 不過這次用 {\ttfamily p} 來加權平均 

\hypertarget{namespacemeow_a6ebfe120c658a6320de42c449e485e54}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bf\-\_\-\-Space const \&}]{rgb, }
\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a6ebfe120c658a6320de42c449e485e54}


{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_af9ab85cd87a9f843e710657188f4c601}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bf\-\_\-\-Space const \&}]{rgb, }
\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_af9ab85cd87a9f843e710657188f4c601}


{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a1591a113b022322f1119894a83a56625}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bf\-\_\-\-Space const \&}]{rgb, }
\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a1591a113b022322f1119894a83a56625}


{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_ab4756ef949554840f60a762661acc103}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ab4756ef949554840f60a762661acc103}


{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} 

\hypertarget{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ad01fb20ad0ae3932e408c06ad80f7b1e}


{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a7f2b465df93750016d3ff54b2adce77b}


{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bi\-\_\-\-Space const \&}]{rgb, }
\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a91f42614ccd31fdb9a3d8529f65198fd}


{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a19e830f03459a25435ff963551772e74}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a19e830f03459a25435ff963551772e74}


{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ad429f8a956d1f0e1484d08bb9419685b}


{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} 

\hypertarget{namespacemeow_af4d344590a86168090c2f2322289f080}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{Y\-U\-Vf\-\_\-\-Space const \&}]{yuv, }
\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_af4d344590a86168090c2f2322289f080}


{\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} 

\hypertarget{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a2f627a58a3394af709ddc8114b4b5286}


{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a764c66bb63095b178107b276eb0cc24e}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bi\-\_\-\-Space const \&}]{a, }
\item[{R\-G\-Bf\-\_\-\-Space $\ast$}]{b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a764c66bb63095b178107b276eb0cc24e}


{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a930aec4a586b79b076e64541f3a96cc7}


{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a5612b34e84764e275631d662e5f210cb}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bf\-\_\-\-Space const \&}]{a, }
\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{b}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a5612b34e84764e275631d662e5f210cb}


{\ttfamily \hyperlink{classmeow_1_1RGBf__Space}{R\-G\-Bf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} 

\hypertarget{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
\item[{Y\-U\-Vf\-\_\-\-Space $\ast$}]{yuv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a4c39f0ec6860546a7b16e3f165bed83e}


{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1YUVf__Space}{Y\-U\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ae5a2c4f9f20fe94d8fcd378a86e05260}


{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Lf\-\_\-\-Space const \&}]{hsl, }
\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a992d4c33aed66c0d4d7f578ef92dfa15}


{\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} 

\hypertarget{namespacemeow_a303120584f2d7e474096da63bec4cdf5}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{H\-S\-Vf\-\_\-\-Space const \&}]{hsv, }
\item[{R\-G\-Bi\-\_\-\-Space $\ast$}]{rgb}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a303120584f2d7e474096da63bec4cdf5}


{\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} 

\hypertarget{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bi\-\_\-\-Space const \&}]{rgb, }
\item[{H\-S\-Lf\-\_\-\-Space $\ast$}]{hsl}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ae9b7bb880aa5b6dfebd523a6b344a4f1}


{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSLf__Space}{H\-S\-Lf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a0239dc74535f528644a22e3e86e5221c}{\index{meow@{meow}!color\-Transformate@{color\-Transformate}}
\index{color\-Transformate@{color\-Transformate}!meow@{meow}}
\subsubsection[{color\-Transformate}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::color\-Transformate (
\begin{DoxyParamCaption}
\item[{R\-G\-Bi\-\_\-\-Space const \&}]{rgb, }
\item[{H\-S\-Vf\-\_\-\-Space $\ast$}]{hsv}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a0239dc74535f528644a22e3e86e5221c}


{\ttfamily \hyperlink{classmeow_1_1RGBi__Space}{R\-G\-Bi\-\_\-\-Space}} to {\ttfamily \hyperlink{classmeow_1_1HSVf__Space}{H\-S\-Vf\-\_\-\-Space}} 

\hypertarget{namespacemeow_a375bf0494e671d61343f5be28f3204fb}{\index{meow@{meow}!cstring\-End\-With@{cstring\-End\-With}}
\index{cstring\-End\-With@{cstring\-End\-With}!meow@{meow}}
\subsubsection[{cstring\-End\-With}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::cstring\-End\-With (
\begin{DoxyParamCaption}
\item[{char const $\ast$}]{str, }
\item[{{\bf int}}]{n, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a375bf0494e671d61343f5be28f3204fb}


檢查給定字串的結尾是否符合給定的數個patterns中的一個 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em str} & 愈檢查的字串 \\
\hline
\mbox{\tt in}  & {\em n} & pattern數 \\
\hline
\mbox{\tt in}  & {\em ...} & 各種pattern \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily true/false} 表示 {\bfseries 是否有符合} 
\end{DoxyReturn}
\begin{DoxyNote}{Note}
參數中所有的字串都是用{\ttfamily cstring} 來傳遞, 也就是 {\ttfamily char} {\ttfamily const$\ast$} 型態 
\end{DoxyNote}
\hypertarget{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}{\index{meow@{meow}!cub@{cub}}
\index{cub@{cub}!meow@{meow}}
\subsubsection[{cub}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::cub (
\begin{DoxyParamCaption}
\item[{T const \&}]{x}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a10a8cca705773b7d9f6f91d3fb08c104}


{\ttfamily x$\ast$x$\ast$x} 

\hypertarget{namespacemeow_a644a491d867da42696e3cf226019fc25}{\index{meow@{meow}!debug\-Printf\-\_\-@{debug\-Printf\-\_\-}}
\index{debug\-Printf\-\_\-@{debug\-Printf\-\_\-}!meow@{meow}}
\subsubsection[{debug\-Printf\-\_\-}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::debug\-Printf\-\_\- (
\begin{DoxyParamCaption}
\item[{char const $\ast$}]{file, }
\item[{char const $\ast$}]{func, }
\item[{size\-\_\-t}]{line, }
\item[{char const $\ast$}]{msg}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a644a491d867da42696e3cf226019fc25}
\hypertarget{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}{\index{meow@{meow}!denormalize@{denormalize}}
\index{denormalize@{denormalize}!meow@{meow}}
\subsubsection[{denormalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::denormalize (
\begin{DoxyParamCaption}
\item[{T}]{lower, }
\item[{T}]{upper, }
\item[{T}]{\-\_\-ratio}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_af95cfca15ad7a51ed4d07b06e1296080}


{\ttfamily }(lower+\-\_\-ratio$\ast$(upper-\/lower)) 

\hypertarget{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}{\index{meow@{meow}!filename\-Compare@{filename\-Compare}}
\index{filename\-Compare@{filename\-Compare}!meow@{meow}}
\subsubsection[{filename\-Compare}]{\setlength{\rightskip}{0pt plus 5cm}bool meow\-::filename\-Compare (
\begin{DoxyParamCaption}
\item[{std\-::string const \&}]{f1, }
\item[{std\-::string const \&}]{f2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a575ff1d89bedceb3f850e0c6b7ab2396}


將兩個字串用人類習慣的檔名排序方式排序 

例如 a1 $<$ a2 $<$ a3 $<$ a10 $<$ a12 $<$ a20, 而不是 a1 $<$ a10 $<$ a12 $<$ a2 $<$ a20 $<$ a3


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em f1} & 第一個字串 \\
\hline
\mbox{\tt in}  & {\em f2} & 第二個字串 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
{\ttfamily true/false} 表 {\bfseries f1是否該排在f2前面} 
\end{DoxyReturn}
\hypertarget{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}{\index{meow@{meow}!in\-Range@{in\-Range}}
\index{in\-Range@{in\-Range}!meow@{meow}}
\subsubsection[{in\-Range}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::in\-Range (
\begin{DoxyParamCaption}
\item[{T const \&}]{mn, }
\item[{T const \&}]{mx, }
\item[{T const \&}]{v}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a98d838d338a3e6f3c57e94562fab3fa7}


{\ttfamily std\-::min}(mx,std\-::max(mn,v)) 

\hypertarget{namespacemeow_a8e4a4baed7fb497f170075648ac95077}{\index{meow@{meow}!levenberg\-Marquardt@{levenberg\-Marquardt}}
\index{levenberg\-Marquardt@{levenberg\-Marquardt}!meow@{meow}}
\subsubsection[{levenberg\-Marquardt}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Scalar , class F , class J , class I , class Stop $>$ {\bf Vector}$<$Scalar$>$ meow\-::levenberg\-Marquardt (
\begin{DoxyParamCaption}
\item[{F const \&}]{func, }
\item[{J const \&}]{jaco, }
\item[{I const \&}]{iden, }
\item[{Vector$<$ Scalar $>$ const \&}]{init, }
\item[{Stop const \&}]{stop, }
\item[{{\bf int}}]{counter = {\ttfamily -\/1}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a8e4a4baed7fb497f170075648ac95077}


Run the {\bfseries Levenberg-\/\-Marquardt} method to solve a non-\/linear least squares problem. 

Assume\-:
\begin{DoxyItemize}
\item The function we want to optimize is $ F: \mathbb{R} ^N \mapsto \mathbb{R}^M $
\item We want to find the best solution $ v $ such that $ F(v)^T F(v) = 0$. But there is a gived threshold $ \epsilon $, we can just find a $ v $ such that $ F(v)^T F(v) < \epsilon $, which is mush easier.
\item User gived a initiial vector $ v_0 $
\end{DoxyItemize}Then we just iteratilly find $ v_1, v_2, v_3, v_4... $ until a vector $ v_k $ satisified that $ F(v_k)^TF(v_k)<\epsilon $ . And each iterator we have\-: \[ v_{i+1} = v_i + (J(v_i)^TJ(v_i)+\lambda I_{N\times N})^{-1} J(v_i)^T F(v_i) \] Where $ J(v) $ is a jacobian matrix defined below\-: \[ J(v) = \frac{d}{dv}F(v) = \left[ \begin{array}{ccccc} \frac{\partial F_1(v)}{\partial v_1} & \frac{\partial F_1(v)}{\partial v_2} & \frac{\partial F_1(v)}{\partial v_3} & ... & \frac{\partial F_1(v)}{\partial v_N} \\ \frac{\partial F_2(v)}{\partial v_1} & \frac{\partial F_2(v)}{\partial v_2} & \frac{\partial F_2(v)}{\partial v_3} & ... & \frac{\partial F_2(v)}{\partial v_N} \\ \frac{\partial F_3(v)}{\partial v_1} & \frac{\partial F_3(v)}{\partial v_2} & \frac{\partial F_3(v)}{\partial v_3} & ... & \frac{\partial F_3(v)}{\partial v_N} \\ . & . & . & & . \\ . & . & . & & . \\ . & . & . & & . \\ \frac{\partial F_M(v)}{\partial v_1} & \frac{\partial F_M(v)}{\partial v_2} & \frac{\partial F_M(v)}{\partial v_3} & ... & \frac{\partial F_M(v)}{\partial v_N} \\ \end{array} \right] \] And $ \lambda $ is a magic number.... 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em func} & $ F $, a function(class with {\ttfamily operator()} ) which input a vector and the output the squares errors. \\
\hline
\mbox{\tt in}  & {\em jaco} & $ J $, a function which input a vector and then output {\bfseries func} derivate by the vector \\
\hline
\mbox{\tt in}  & {\em iden} & $ \lambda I_{N \times N} $, defined above \\
\hline
\mbox{\tt in}  & {\em init} & $ v_0 $Initial vector \\
\hline
\mbox{\tt in}  & {\em stop} & A function return a boolean which means the error is acceptable or not, so \[ S_{top}(v) = \begin{cases} true & if~F(v)<\epsilon \\ false & else \end{cases} \] \\
\hline
\mbox{\tt in}  & {\em counter} & To prevent infinit loop. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a vector which means the best solution this function found.
\end{DoxyReturn}
\begin{DoxyAuthor}{Author}
cat\-\_\-leopard 
\end{DoxyAuthor}
\hypertarget{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}{\index{meow@{meow}!message\-Printf@{message\-Printf}}
\index{message\-Printf@{message\-Printf}!meow@{meow}}
\subsubsection[{message\-Printf}]{\setlength{\rightskip}{0pt plus 5cm}void meow\-::message\-Printf (
\begin{DoxyParamCaption}
\item[{{\bf int}}]{level\-\_\-change, }
\item[{char const $\ast$}]{fmt, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a9aad86d9211af4ca27b72f87c2643926}


階層式輸出 

像是printf, 但多了一個 {\bfseries 巢狀} 的概念, 例如\-:


\begin{DoxyCode}
message1(level = 0)
  message2(level = 1)
    information1(level = 2)
    information2(level = 2)
  ... ok(for message2)
  message3(level = 1) ... ok
  information3(level = 1)
  message4(level = 1)
    message5(level = 2) ... ok
    message6(level = 2) ... ok
    information4(level = 2)
  ... ok(for message4)
... ok(for message5)
\end{DoxyCode}
 
\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em level\-\_\-change} & 分以下三種情況\-:
\begin{DoxyItemize}
\item == 0, 只是印出一個information
\item == 1, 印出一個message, 並且level++
\item == -\/1, 表示此訊息相對應最近一次level++的那個message 
\end{DoxyItemize}\\
\hline
\mbox{\tt in}  & {\em fmt,...} & 跟printf一樣 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
無 
\end{DoxyReturn}
\hypertarget{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}{\index{meow@{meow}!no\-E\-P\-S@{no\-E\-P\-S}}
\index{no\-E\-P\-S@{no\-E\-P\-S}!meow@{meow}}
\subsubsection[{no\-E\-P\-S}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::no\-E\-P\-S (
\begin{DoxyParamCaption}
\item[{T}]{value, }
\item[{T}]{eps = {\ttfamily 1e-\/9}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ab9456533c0ae85fba812bfb5b017c8d2}


如果abs(輸入的數值) $<$ eps, 則回傳0, 否則回傳輸入的數值 

\hypertarget{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}{\index{meow@{meow}!normalize@{normalize}}
\index{normalize@{normalize}!meow@{meow}}
\subsubsection[{normalize}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::normalize (
\begin{DoxyParamCaption}
\item[{T}]{lower, }
\item[{T}]{upper, }
\item[{T}]{value}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_aebe1ad335556790c578c4cf7836fd9ca}


{\ttfamily }(value-\/lower)/(upper-\/lower) 

\hypertarget{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}{\index{meow@{meow}!ransac@{ransac}}
\index{ransac@{ransac}!meow@{meow}}
\subsubsection[{ransac}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class Data , class Weighting\-Class $>$ std\-::vector$<$Data$>$ meow\-::ransac (
\begin{DoxyParamCaption}
\item[{std\-::vector$<$ Data $>$ const \&}]{data, }
\item[{Weighting\-Class const \&}]{w, }
\item[{size\-\_\-t}]{N, }
\item[{{\bf double}}]{p0, }
\item[{{\bf double}}]{P}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a43a73b75f2e23c8172d2098d57eaf75a}


Run the {\bfseries R\-A\-N\-S\-A\-C} method to approach the best solution. 

{\bfseries R\-A\-Ndom} {\bfseries S\-Ample} {\bfseries Consensus} is an iterative method to estimate parameters of a mathematical model from a set of observed data which contains {\ttfamily outliers}. \par
 Each iterator it will choose a subset of elements, the smallest set which can form a valid parameters, from the data set. And then calculate how many elements in the whole data set is inliers. After iterator much times, we just say the best solution is the parameters that has the much inliers elements in whole iterators.

Assume\-:
\begin{DoxyItemize}
\item We need at least $ N $ element to form a valid parameters.
\item The probability of choosing a right element from data set each time is $ p_0 $.
\item We want the probability of our solution actually being the best solution be $ P $.
\item We need to iterator $ M $ times.
\end{DoxyItemize}Then we can estimate the number of iterations $ M $ \-: \[ \begin{aligned} & (1 - p_0^N)^M \leq(1 - P) \\ \Rightarrow & M \log(1 - p_0^N) \leq \log(1 - P) \\ \Rightarrow & M \geq \frac{\log(1 - p)}{\log(1 - p_0^N)},~~ \because (1-p_0^N<1 \Rightarrow \log(1-p_0^N)<0) \end{aligned} \]

So in this function we choose $ M = \lceil \frac{\log(1 - P)}{\log(1 - p_0^N)} \rceil $


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em data} & The whole data sett \\
\hline
\mbox{\tt in}  & {\em w} & Weight function to give a floating number for a given parameters which means how best this solution is. Negitave number means invalid parameters. \\
\hline
\mbox{\tt in}  & {\em N} & $ N $, defined above \\
\hline
\mbox{\tt in}  & {\em p0} & $ p_0 $, defined above \\
\hline
\mbox{\tt in}  & {\em P} & $ P $, defined above \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
solution.
\end{DoxyReturn}
\begin{DoxyAuthor}{Author}
cat\-\_\-leopard 
\end{DoxyAuthor}
\hypertarget{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}{\index{meow@{meow}!ratio\-Mapping@{ratio\-Mapping}}
\index{ratio\-Mapping@{ratio\-Mapping}!meow@{meow}}
\subsubsection[{ratio\-Mapping}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::ratio\-Mapping (
\begin{DoxyParamCaption}
\item[{T}]{l1, }
\item[{T}]{u1, }
\item[{T}]{m1, }
\item[{T}]{l2, }
\item[{T}]{u2}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a3b01a91eb4a02909a61a35e406fa5732}


{\ttfamily denormalize}(l2,u2,normalize(l1,u1,m1)) 

\hypertarget{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}{\index{meow@{meow}!squ@{squ}}
\index{squ@{squ}!meow@{meow}}
\subsubsection[{squ}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::squ (
\begin{DoxyParamCaption}
\item[{T const \&}]{x}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a1954e235973a2ac79a7a72a4b7d25573}


{\ttfamily x$\ast$x} 

\hypertarget{namespacemeow_a09946550cc38b132151643d3408b0175}{\index{meow@{meow}!string\-Printf@{string\-Printf}}
\index{string\-Printf@{string\-Printf}!meow@{meow}}
\subsubsection[{string\-Printf}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string meow\-::string\-Printf (
\begin{DoxyParamCaption}
\item[{char const $\ast$}]{fmt, }
\item[{}]{...}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a09946550cc38b132151643d3408b0175}


類似\-C的printf, 不過是將格式化的字串丟到 {\ttfamily std\-::string} 裡回傳 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em fmt,...} & 同printf \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
一個 {\ttfamily std\-::string} 
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
目前格式化字串最長只支援8191個字元 
\end{DoxyWarning}
\hypertarget{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}{\index{meow@{meow}!string\-Replace@{string\-Replace}}
\index{string\-Replace@{string\-Replace}!meow@{meow}}
\subsubsection[{string\-Replace}]{\setlength{\rightskip}{0pt plus 5cm}std\-::string meow\-::string\-Replace (
\begin{DoxyParamCaption}
\item[{std\-::string}]{str, }
\item[{std\-::string const \&}]{from, }
\item[{std\-::string const \&}]{to}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_a532a4a224ccd34baa4c6317a8a014ba4}


將輸入字串中的某個pattern取代成另一個pattern 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em str} & 輸入的字串 \\
\hline
\mbox{\tt in}  & {\em from} & 要被取代的pattern \\
\hline
\mbox{\tt in}  & {\em to} & 將要取代的pattern \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
取代後的字串 
\end{DoxyReturn}
\begin{DoxyWarning}{Warning}
有礙於目前實作方法很低級暴力, 時間複雜度神高 
\end{DoxyWarning}
\hypertarget{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}{\index{meow@{meow}!t\-Abs@{t\-Abs}}
\index{t\-Abs@{t\-Abs}!meow@{meow}}
\subsubsection[{t\-Abs}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ T meow\-::t\-Abs (
\begin{DoxyParamCaption}
\item[{T const \&}]{t}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}}\label{namespacemeow_ae880337dfdcc67984a0dccdb50e5c5d0}


就只是個取絕對值 



\subsection{Variable Documentation}
\hypertarget{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}{\index{meow@{meow}!k\-Global\-Seletor\-I\-D@{k\-Global\-Seletor\-I\-D}}
\index{k\-Global\-Seletor\-I\-D@{k\-Global\-Seletor\-I\-D}!meow@{meow}}
\subsubsection[{k\-Global\-Seletor\-I\-D}]{\setlength{\rightskip}{0pt plus 5cm}const size\-\_\-t meow\-::k\-Global\-Seletor\-I\-D = 0\hspace{0.3cm}{\ttfamily [static]}}}\label{namespacemeow_aaa678bbd106012a98ed5679e2ca8cc32}
\hypertarget{namespacemeow_aa86d5920087a4e73078b759bc3996f76}{\index{meow@{meow}!P\-I@{P\-I}}
\index{P\-I@{P\-I}!meow@{meow}}
\subsubsection[{P\-I}]{\setlength{\rightskip}{0pt plus 5cm}const {\bf double} meow\-::\-P\-I = 3.\-14159265358979323846264338327950288\hspace{0.3cm}{\ttfamily [static]}}}\label{namespacemeow_aa86d5920087a4e73078b759bc3996f76}


圓周率... 

