private List<MergeCell> detectPotentialMerge(double[][] costs, int[] assigns, SegmentedImage A, SegmentedImage B, double ep){
		List<MergeCell> result = new ArrayList<MergeCell>();
		for(int j = 0; j < costs[0].length; j++){
			List<ProcessedCell> temp = new ArrayList<ProcessedCell>();
			int index = -1;
			for(int k = 0; k < costs.length; k++){
				if(assigns[k] == j){
					index = j;
					break;
				}
			}
			if(index == -1) continue;
			double weight = costs[index][j];
			
			for(int i = 0; i < costs.length; i++){
				if(weight/costs[i][j] >= ep){
					temp.add(A.getCell(i));
				}
			}
			if(temp.size() > 1){
				result.add(new MergeCell(temp, B.getCell(j)));
			}
		}
		return result;
	}