Package fork.lib.math.algebra.elementary.set.continuous

Examples of fork.lib.math.algebra.elementary.set.continuous.Region


* @throws RegionException
*/
public static double getArea(ArrayList<Region> regs, Region tarr) throws RegionException{
    double area=0;
    for( int i=0; i<regs.size() ; i++ ){
        Region r= (Region)regs.get(i);
        if(r.overlapsWith(tarr)){
            double at= (double)r.attr;
            area+= (r.getOverlapRegion(tarr).getRange()+1) * at;
        }
    }
    return area;
}
View Full Code Here


* @throws RegionException
*/
public static double getAreaDouble(ArrayList<Region> regs, Region tarr) throws RegionException{
    double area=0;
    for( int i=0; i<regs.size() ; i++ ){
        Region r= (Region)regs.get(i);
        if(r.overlapsWith(tarr)){
            area+= r.getOverlapRegion(tarr).getRange() * (double)r.attr;
        }
    }
    return area;
}
View Full Code Here

    if(regs==null || regs.isEmpty()){
        return ret;
    }
    int ind=0;
    for( int i=(int)tarr.low; i<=(int)tarr.high ; i++ ){
        Region r= regs.get(ind);
        while(r.high< i){
            ind++;
            if(ind>=regs.size()){
                return ret;
            }
            r= regs.get(ind);
        }
        if(r.contains(i)){
            ret[i-(int)tarr.low]= (Double)r.attr;
        }
    }
    return ret;
}
View Full Code Here

* @throws RegionException
*/   
public static double getOverlap(ArrayList<Region> bufs, Region tar) throws RegionException{
    double ret=0;
    for( int i=0; i<bufs.size() ; i++ ){
        Region r= bufs.get(i);
        if(r.isInteger() && tar.isInteger()){
            if(r.overlapsWith(tar)){
                ret+= r.getOverlapRegion(tar).getRange()+1;
            }
        }else{
            if(r.overlapsWith(tar)){
                ret+= r.getOverlapRegion(tar).getRange();
            }
        }
    }
    return ret;
}
View Full Code Here

* @throws RegionException
*/   
public static double getOverlap(ArrayList<Region> bufs, Region tar) throws RegionException{
    double ret=0;
    for( int i=0; i<bufs.size() ; i++ ){
        Region r= bufs.get(i);
        if(r.isInteger() && tar.isInteger()){
            if(r.overlapsWith(tar)){
                ret+= r.getOverlapRegion(tar).getRange()+1;
            }
        }else{
            if(r.overlapsWith(tar)){
                ret+= r.getOverlapRegion(tar).getRange();
            }
        }
    }
    return ret;
}
View Full Code Here

    if(hpd.isLeaf()){
        Double tarthr= getThresholdLevels(hpd.data, hpd.baseThr, par.nheight).get(par.tarheight);
        ArrayList<Landscape2D> pds= hpd.data.applyThreshold(tarthr);
        if(pds!=null && !pds.isEmpty()){
            for( int i=0; i<pds.size(); i++ ){
                Region r= pds.get(i).getXRange();
                if(par.satisfyMin(r) && par.satisfyMax(r)){
                    ret.add(r);
                }
            }
        }else{
View Full Code Here

    }else{
        if(pnh[0]>pnh[1]){
            lowIsYes=false;
        }
    }
    Region reg;
    if(lowIsYes){
        reg= new Region(Double.NEGATIVE_INFINITY, maxThr);
        yesEnts= enlh[0];
        noEnts= enlh[1];
    }else{
        reg= new Region(maxThr, Double.POSITIVE_INFINITY);
        noEnts= enlh[0];
        yesEnts= enlh[1];
    }
    cond= new NumericalSet(new Regions(reg), null);
    ind= maxInd;
View Full Code Here

        xp+=s;
    }
    min-=s;
    max+=s;
    try {
        return new Region(min,max);
    } catch (RegionException ex) {
        return null;
    }
}
View Full Code Here

        return null;
    }
}

public double[] getRange(double xl, double xh) throws RegionException{
    Region r= new Region(xl, xh);
    Region ys= this.getRange(r);
    return new double[]{ys.low, ys.high};
}
View Full Code Here

* join regions that are close together
* @param rs
*/
protected void join(ArrayList<Region> rs){
    for( int i=0; i<rs.size()-1; i++ ){
        Region r= (Region)rs.get(i);
        Region rn= (Region)rs.get(i+1);
        if(rn.higherThan(r)){
            double dis= rn.low-r.high;
            if(dis<=par.joinGap){
                try{
                    Region ovl= new Region(r.low, rn.high);
                    rs.set(i, ovl);
                    rs.remove(rn);
                    i--;
                }catch(RegionException re){
                    re.printStackTrace();
View Full Code Here

TOP

Related Classes of fork.lib.math.algebra.elementary.set.continuous.Region

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.