Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- IJ.log("Tangentes: ");
- double [] tangents = new double[n];
- for(int k =0; k < n; k++) {
- double tangent = .0;
- double sum = .0;
- double sumEccentr = .0;
- for(int j = 0; j < segments.size(); j++){
- double theta = .0;
- Integer [] seg = segments.get(j);
- int f = seg[0];
- int l = seg[1];
- int segmentLen = 0;
- int pointPosition = 0;
- //IJ.log("Point " + k);
- //IJ.log("Firts " + f);
- //IJ.log("Last " + l);
- boolean ok = false; //le point appartient pas à un segment
- if(f > l) {
- if (k >= f ) {
- segmentLen = (n - f) + l;
- pointPosition = k - f +1 ;
- ok = true;
- }
- else {
- if (k <= l) {
- segmentLen = (n - f) + l + 1;
- pointPosition = segmentLen - (l - k);//todo
- ok = true;
- }
- }
- }
- else {
- if (k >= f && k <= l){
- pointPosition = k - f + 1;
- segmentLen = l - f + 1;
- ok = true;
- }
- }
- if(ok){
- theta = Math.atan2((double)p.getContourTPY(k),(double) p.getContourTPX(k));
- //excentricité
- //IJ.log("PointPos " + pointPosition);
- //IJ.log("segmenLen " + segmentLen);
- double eccentr = (double) pointPosition / (double) segmentLen;
- //IJ.log("Eccentr " + eccentr);
- double alpha = .0;
- if(eccentr < 0.5){
- alpha = 2*eccentr;
- }
- else if (eccentr == 0.5){
- alpha = 1;
- }
- else {
- alpha = 2*(1-eccentr);
- }
- //IJ.log("Alpha " + alpha);
- //IJ.log("Theta " + theta);
- sum += theta*alpha;
- sumEccentr += alpha;
- }
- }
- //IJ.log("Point: " + k + ": sum -->" + sum);
- //IJ.log("Point: " + k + ": sumEcc -->" + sumEccentr);
- tangent = sum/sumEccentr;
- tangents[k] = tangent;
- IJ.log("Point: " + k + ": theta -->" + tangent);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement