Java 类gnu.trove.map.hash.TObjectFloatHashMap 实例源码

项目:DynamicSurroundings    文件:AreaSoundEffectHandler.java   
private static void getBiomeSounds(@Nonnull final TObjectFloatHashMap<SoundEffect> result) {
    // Need to collect sounds from all the applicable biomes
    // along with their weights.
    final TObjectIntIterator<BiomeInfo> info = AreaSurveyHandler.getBiomes().iterator();
    while (info.hasNext()) {
        info.advance();
        final List<SoundEffect> bs = new ArrayList<SoundEffect>();
        info.key().findSoundMatches(bs);
        for (final SoundEffect sound : bs) {
            final int w = info.value();
            result.adjustOrPutValue(sound, w, w);
        }
    }

    // Scale the volumes in the resulting list based on the weights
    final int area = AreaSurveyHandler.getBiomeArea();
    final TObjectFloatIterator<SoundEffect> itr = result.iterator();
    while (itr.hasNext()) {
        itr.advance();
        final float scale = 0.1F + 0.9F * ((float) itr.value() / (float) area);
        itr.setValue(scale);
    }
}
项目:openimaj    文件:RuleOfThirds.java   
@Override
public void analyseImage(MBFImage image) {
    final int width = image.getWidth();
    final int height = image.getHeight();

    image.analyseWith(saliencyGenerator);
    final TObjectFloatHashMap<ConnectedComponent> componentMap = saliencyGenerator.getSaliencyComponents();

    asSum = 0;
    aseSum = 0;
    componentMap.forEachEntry(new TObjectFloatProcedure<ConnectedComponent>() {
        @Override
        public boolean execute(ConnectedComponent c, float s) {
            final double as = c.calculateArea() * s;

            final double D = closestDistance(c, width, height);

            asSum += as;
            aseSum += as * Math.exp(-(D * D) / (2 * SIGMA));

            return true;
        }
    });
}
项目:DynamicSurroundings    文件:SoundEffectHandler.java   
public void queueAmbientSounds(@Nonnull final TObjectFloatHashMap<SoundEffect> sounds) {
    // Iterate through the existing emitters:
    // * If done, remove
    // * If not in the incoming list, fade
    // * If it does exist, update volume throttle and unfade if needed
    final Iterator<Entry<SoundEffect, Emitter>> itr = this.emitters.entrySet().iterator();
    while (itr.hasNext()) {
        final Entry<SoundEffect, Emitter> e = itr.next();
        final Emitter emitter = e.getValue();
        if (emitter.isDonePlaying()) {
            DSurround.log().debug("Removing emitter: %s", emitter.toString());
            itr.remove();
        } else if (sounds.contains(e.getKey())) {
            emitter.setVolumeThrottle(sounds.get(e.getKey()));
            if (emitter.isFading())
                emitter.unfade();
            // Set to 0 so that the "new sound" logic below
            // will ignore. Cheaper than removing the object
            // from the collection.
            sounds.put(e.getKey(), 0F);
        } else {
            if (!emitter.isFading())
                emitter.fade();
        }
    }

    // Any sounds left in the list are new and need
    // an emitter created.
    final TObjectFloatIterator<SoundEffect> newSounds = sounds.iterator();
    while (newSounds.hasNext()) {
        newSounds.advance();
        if (newSounds.value() > 0) {
            final SoundEffect effect = newSounds.key();
            this.emitters.put(effect, new PlayerEmitter(effect));
        }
    }
}
项目:cineast    文件:Tags.java   
@Override
public List<ScoreElement> getSimilar(SegmentContainer sc, ReadableQueryConfig qc) {

  TObjectFloatHashMap<String> tagScores = new TObjectFloatHashMap<>();

  for(Tag tag : sc.getTags()){
    if(!tag.hasId() && !tag.hasName()){
      LOGGER.info("skipping empty tag");
      continue;
    }

    if(!tag.hasId()){
      List<Tag> tags = tagHandler.getTagsByName(tag.getName());

      for(Tag t : tags){
        tagScores.put(t.getId(), 1f);
      }

    }else{
      tagScores.put(tag.getId(), 1f);
    }

  }

  return processTagScores(tagScores);

}
项目:openimaj    文件:ROIProportion.java   
@Override
public void analyseImage(MBFImage image) {
    image.analyseWith(saliencyGenerator);
    final TObjectFloatHashMap<ConnectedComponent> componentMap = saliencyGenerator.getSaliencyComponents();

    final float max = ArrayUtils.maxValue(componentMap.values());

    final FImage map = new FImage(image.getWidth(), image.getHeight());
    final float thresh = max * alpha;
    final BoundingBoxRenderer<Float> renderer = new BoundingBoxRenderer<Float>(map, 1F, true);

    componentMap.forEachEntry(new TObjectFloatProcedure<ConnectedComponent>() {
        @Override
        public boolean execute(ConnectedComponent cc, float sal) {
            if (sal >= thresh) { // note that this is reversed from the
                // paper, which doesn't seem to make
                // sense.
                renderer.process(cc);
            }

            return true;
        }
    });

    roiProportion = 0;
    for (int y = 0; y < map.height; y++)
        for (int x = 0; x < map.width; x++)
            roiProportion += map.pixels[y][x];

    roiProportion /= (map.width * map.height); // smaller simplicity means
    // smaller ROI
}
项目:openimaj    文件:FelzenszwalbHuttenlocherSegmenter.java   
protected DisjointSetForest<Pixel> segmentGraph(int numVertices, List<SimpleWeightedEdge<Pixel>> edges) { 
    // sort edges by weight
    Collections.sort(edges, SimpleWeightedEdge.ASCENDING_COMPARATOR);

    // make a disjoint-set forest
    DisjointSetForest<Pixel> u = new DisjointSetForest<Pixel>(numVertices);

    for (SimpleWeightedEdge<Pixel> edge : edges) {
        u.add(edge.from);
        u.add(edge.to);
    }

    // init thresholds
    TObjectFloatHashMap<Pixel> threshold = new TObjectFloatHashMap<Pixel>();
    for (Pixel p : u) {
        threshold.put(p, k);
    }

    // for each edge, in non-decreasing weight order...
    for (int i = 0; i < edges.size(); i++) {
        SimpleWeightedEdge<Pixel> pedge = edges.get(i);

        // components connected by this edge
        Pixel a = u.find(pedge.from);
        Pixel b = u.find(pedge.to);
        if (a != b) {
            if ((pedge.weight <= threshold.get(a)) && (pedge.weight <= threshold.get(b))) {
                a = u.union(a, b);
                threshold.put(a, pedge.weight + (k / u.size(a)));
            }
        }
    }

    return u;
}
项目:fnlp    文件:MyCollection.java   
public static TObjectFloatHashMap<String> loadTStringFloatMap(String path) throws IOException {
    TObjectFloatHashMap<String> dict = new TObjectFloatHashMap<String>();
    BufferedReader  bfr = new BufferedReader(new InputStreamReader(new FileInputStream(path), "utf8"));

    String line = null;
    while ((line = bfr.readLine()) != null) {
        if (line.length() == 0)
            continue;
        int idx = line.lastIndexOf("\t");
        dict.put(line.substring(0, idx), Float.parseFloat(line.substring(idx + 1)));
    }
    bfr.close();
    return dict;
}
项目:fudannlp    文件:MyCollection.java   
public static TObjectFloatHashMap<String> loadTStringFloatMap(String path) throws IOException {
    TObjectFloatHashMap<String> dict = new TObjectFloatHashMap<String>();
    BufferedReader  bfr = new BufferedReader(new InputStreamReader(new FileInputStream(path), "utf8"));

    String line = null;
    while ((line = bfr.readLine()) != null) {
        if (line.length() == 0)
            continue;
        int idx = line.lastIndexOf("\t");
        dict.put(line.substring(0, idx), Float.parseFloat(line.substring(idx + 1)));
    }
    bfr.close();
    return dict;
}
项目:cineast    文件:Tags.java   
@Override
public List<ScoreElement> getSimilar(String shotId, ReadableQueryConfig qc) {

  List<Map<String, PrimitiveTypeProvider>> rows = this.selector.getRows("id", shotId);

  TObjectFloatHashMap<String> tagScores = new TObjectFloatHashMap<>();

  for(Map<String, PrimitiveTypeProvider> row : rows){
    String tagId = row.get("tag").getString();
    float score = row.get("score").getFloat();
    tagScores.put(tagId, score);
  }

  return processTagScores(tagScores);

}
项目:pre-cu    文件:AutoDeltaObjectFloatMap.java   
public AutoDeltaObjectFloatMap(Function<ByteBuffer, K> keyCreator) {
    this.changes = new ArrayList<>(5);
    this.container = new TObjectFloatHashMap<>();
    this.baselineCommandCount = 0;
    this.keyCreator = keyCreator;
}
项目:pre-cu    文件:AutoDeltaStringFloatMap.java   
public AutoDeltaStringFloatMap() {
    this.changes = new ArrayList<>(5);
    this.container = new TObjectFloatHashMap<>();
    this.baselineCommandCount = 0;
}
项目:pre-cu    文件:HateList.java   
public HateList() {

        this.hateList = new TObjectFloatHashMap<>();
        this.recentHateList = new TLongHashSet();
    }
项目:gitrec    文件:FilterItemItemLinksDetailed.java   
public void cleanup() {
    inputItems = new TObjectFloatHashMap<String>();
    inputSignals = new HashMap<String, Map<String, Integer>>();
    outputItems = bf.newDefaultBag();
}
项目:gitrec    文件:FilterItemItemLinks.java   
public void cleanup() {
    inputItems = new TObjectFloatHashMap<String>();
    outputItems = bf.newDefaultBag();
}
项目:openimaj    文件:YehSaliency.java   
/**
 * Get a map of component->saliency for all the components in
 * the image
 * @return component->saliency map
 */
public TObjectFloatHashMap<ConnectedComponent> getSaliencyComponents() {
    return componentMap;
}