001
002//
003// This file is auto-generated. Please don't modify it!
004//
005package org.opencv.ml;
006
007import java.util.ArrayList;
008import java.util.List;
009import org.opencv.core.Mat;
010import org.opencv.core.TermCriteria;
011import org.opencv.utils.Converters;
012
013// C++: class EM
014//javadoc: EM
015public class EM extends StatModel {
016
017    protected EM(long addr) { super(addr); }
018
019
020    public static final int
021            COV_MAT_SPHERICAL = 0,
022            COV_MAT_DIAGONAL = 1,
023            COV_MAT_GENERIC = 2,
024            COV_MAT_DEFAULT = COV_MAT_DIAGONAL,
025            DEFAULT_NCLUSTERS = 5,
026            DEFAULT_MAX_ITERS = 100,
027            START_E_STEP = 1,
028            START_M_STEP = 2,
029            START_AUTO_STEP = 0;
030
031
032    //
033    // C++:  Mat getMeans()
034    //
035
036    //javadoc: EM::getMeans()
037    public  Mat getMeans()
038    {
039        
040        Mat retVal = new Mat(getMeans_0(nativeObj));
041        
042        return retVal;
043    }
044
045
046    //
047    // C++:  Mat getWeights()
048    //
049
050    //javadoc: EM::getWeights()
051    public  Mat getWeights()
052    {
053        
054        Mat retVal = new Mat(getWeights_0(nativeObj));
055        
056        return retVal;
057    }
058
059
060    //
061    // C++: static Ptr_EM create()
062    //
063
064    //javadoc: EM::create()
065    public static EM create()
066    {
067        
068        EM retVal = new EM(create_0());
069        
070        return retVal;
071    }
072
073
074    //
075    // C++:  TermCriteria getTermCriteria()
076    //
077
078    //javadoc: EM::getTermCriteria()
079    public  TermCriteria getTermCriteria()
080    {
081        
082        TermCriteria retVal = new TermCriteria(getTermCriteria_0(nativeObj));
083        
084        return retVal;
085    }
086
087
088    //
089    // C++:  Vec2d predict2(Mat sample, Mat& probs)
090    //
091
092    //javadoc: EM::predict2(sample, probs)
093    public  double[] predict2(Mat sample, Mat probs)
094    {
095        
096        double[] retVal = predict2_0(nativeObj, sample.nativeObj, probs.nativeObj);
097        
098        return retVal;
099    }
100
101
102    //
103    // C++:  bool trainE(Mat samples, Mat means0, Mat covs0 = Mat(), Mat weights0 = Mat(), Mat& logLikelihoods = Mat(), Mat& labels = Mat(), Mat& probs = Mat())
104    //
105
106    //javadoc: EM::trainE(samples, means0, covs0, weights0, logLikelihoods, labels, probs)
107    public  boolean trainE(Mat samples, Mat means0, Mat covs0, Mat weights0, Mat logLikelihoods, Mat labels, Mat probs)
108    {
109        
110        boolean retVal = trainE_0(nativeObj, samples.nativeObj, means0.nativeObj, covs0.nativeObj, weights0.nativeObj, logLikelihoods.nativeObj, labels.nativeObj, probs.nativeObj);
111        
112        return retVal;
113    }
114
115    //javadoc: EM::trainE(samples, means0)
116    public  boolean trainE(Mat samples, Mat means0)
117    {
118        
119        boolean retVal = trainE_1(nativeObj, samples.nativeObj, means0.nativeObj);
120        
121        return retVal;
122    }
123
124
125    //
126    // C++:  bool trainEM(Mat samples, Mat& logLikelihoods = Mat(), Mat& labels = Mat(), Mat& probs = Mat())
127    //
128
129    //javadoc: EM::trainEM(samples, logLikelihoods, labels, probs)
130    public  boolean trainEM(Mat samples, Mat logLikelihoods, Mat labels, Mat probs)
131    {
132        
133        boolean retVal = trainEM_0(nativeObj, samples.nativeObj, logLikelihoods.nativeObj, labels.nativeObj, probs.nativeObj);
134        
135        return retVal;
136    }
137
138    //javadoc: EM::trainEM(samples)
139    public  boolean trainEM(Mat samples)
140    {
141        
142        boolean retVal = trainEM_1(nativeObj, samples.nativeObj);
143        
144        return retVal;
145    }
146
147
148    //
149    // C++:  bool trainM(Mat samples, Mat probs0, Mat& logLikelihoods = Mat(), Mat& labels = Mat(), Mat& probs = Mat())
150    //
151
152    //javadoc: EM::trainM(samples, probs0, logLikelihoods, labels, probs)
153    public  boolean trainM(Mat samples, Mat probs0, Mat logLikelihoods, Mat labels, Mat probs)
154    {
155        
156        boolean retVal = trainM_0(nativeObj, samples.nativeObj, probs0.nativeObj, logLikelihoods.nativeObj, labels.nativeObj, probs.nativeObj);
157        
158        return retVal;
159    }
160
161    //javadoc: EM::trainM(samples, probs0)
162    public  boolean trainM(Mat samples, Mat probs0)
163    {
164        
165        boolean retVal = trainM_1(nativeObj, samples.nativeObj, probs0.nativeObj);
166        
167        return retVal;
168    }
169
170
171    //
172    // C++:  int getClustersNumber()
173    //
174
175    //javadoc: EM::getClustersNumber()
176    public  int getClustersNumber()
177    {
178        
179        int retVal = getClustersNumber_0(nativeObj);
180        
181        return retVal;
182    }
183
184
185    //
186    // C++:  int getCovarianceMatrixType()
187    //
188
189    //javadoc: EM::getCovarianceMatrixType()
190    public  int getCovarianceMatrixType()
191    {
192        
193        int retVal = getCovarianceMatrixType_0(nativeObj);
194        
195        return retVal;
196    }
197
198
199    //
200    // C++:  void getCovs(vector_Mat& covs)
201    //
202
203    //javadoc: EM::getCovs(covs)
204    public  void getCovs(List<Mat> covs)
205    {
206        Mat covs_mat = new Mat();
207        getCovs_0(nativeObj, covs_mat.nativeObj);
208        Converters.Mat_to_vector_Mat(covs_mat, covs);
209        covs_mat.release();
210        return;
211    }
212
213
214    //
215    // C++:  void setClustersNumber(int val)
216    //
217
218    //javadoc: EM::setClustersNumber(val)
219    public  void setClustersNumber(int val)
220    {
221        
222        setClustersNumber_0(nativeObj, val);
223        
224        return;
225    }
226
227
228    //
229    // C++:  void setCovarianceMatrixType(int val)
230    //
231
232    //javadoc: EM::setCovarianceMatrixType(val)
233    public  void setCovarianceMatrixType(int val)
234    {
235        
236        setCovarianceMatrixType_0(nativeObj, val);
237        
238        return;
239    }
240
241
242    //
243    // C++:  void setTermCriteria(TermCriteria val)
244    //
245
246    //javadoc: EM::setTermCriteria(val)
247    public  void setTermCriteria(TermCriteria val)
248    {
249        
250        setTermCriteria_0(nativeObj, val.type, val.maxCount, val.epsilon);
251        
252        return;
253    }
254
255
256    @Override
257    protected void finalize() throws Throwable {
258        delete(nativeObj);
259    }
260
261
262
263    // C++:  Mat getMeans()
264    private static native long getMeans_0(long nativeObj);
265
266    // C++:  Mat getWeights()
267    private static native long getWeights_0(long nativeObj);
268
269    // C++: static Ptr_EM create()
270    private static native long create_0();
271
272    // C++:  TermCriteria getTermCriteria()
273    private static native double[] getTermCriteria_0(long nativeObj);
274
275    // C++:  Vec2d predict2(Mat sample, Mat& probs)
276    private static native double[] predict2_0(long nativeObj, long sample_nativeObj, long probs_nativeObj);
277
278    // C++:  bool trainE(Mat samples, Mat means0, Mat covs0 = Mat(), Mat weights0 = Mat(), Mat& logLikelihoods = Mat(), Mat& labels = Mat(), Mat& probs = Mat())
279    private static native boolean trainE_0(long nativeObj, long samples_nativeObj, long means0_nativeObj, long covs0_nativeObj, long weights0_nativeObj, long logLikelihoods_nativeObj, long labels_nativeObj, long probs_nativeObj);
280    private static native boolean trainE_1(long nativeObj, long samples_nativeObj, long means0_nativeObj);
281
282    // C++:  bool trainEM(Mat samples, Mat& logLikelihoods = Mat(), Mat& labels = Mat(), Mat& probs = Mat())
283    private static native boolean trainEM_0(long nativeObj, long samples_nativeObj, long logLikelihoods_nativeObj, long labels_nativeObj, long probs_nativeObj);
284    private static native boolean trainEM_1(long nativeObj, long samples_nativeObj);
285
286    // C++:  bool trainM(Mat samples, Mat probs0, Mat& logLikelihoods = Mat(), Mat& labels = Mat(), Mat& probs = Mat())
287    private static native boolean trainM_0(long nativeObj, long samples_nativeObj, long probs0_nativeObj, long logLikelihoods_nativeObj, long labels_nativeObj, long probs_nativeObj);
288    private static native boolean trainM_1(long nativeObj, long samples_nativeObj, long probs0_nativeObj);
289
290    // C++:  int getClustersNumber()
291    private static native int getClustersNumber_0(long nativeObj);
292
293    // C++:  int getCovarianceMatrixType()
294    private static native int getCovarianceMatrixType_0(long nativeObj);
295
296    // C++:  void getCovs(vector_Mat& covs)
297    private static native void getCovs_0(long nativeObj, long covs_mat_nativeObj);
298
299    // C++:  void setClustersNumber(int val)
300    private static native void setClustersNumber_0(long nativeObj, int val);
301
302    // C++:  void setCovarianceMatrixType(int val)
303    private static native void setCovarianceMatrixType_0(long nativeObj, int val);
304
305    // C++:  void setTermCriteria(TermCriteria val)
306    private static native void setTermCriteria_0(long nativeObj, int val_type, int val_maxCount, double val_epsilon);
307
308    // native support for java finalize()
309    private static native void delete(long nativeObj);
310
311}