Class ReadingSorter<P extends com.irurueta.geometry.Point<?>,R extends Reading<? extends RadioSource>>

java.lang.Object
com.irurueta.navigation.indoor.position.ReadingSorter<P,R>
Type Parameters:
P - a Point type.
R - a Reading type.

public class ReadingSorter<P extends com.irurueta.geometry.Point<?>,R extends Reading<? extends RadioSource>> extends Object
Evenly sorts readings of a fingerprint among different radio sources taking into account their respective quality scores as well.
  • Field Details

    • sources

      private final List<? extends RadioSourceLocated<P extends com.irurueta.geometry.Point<?>>> sources
      Sources to be taken into account within readings.
    • fingerprint

      private final Fingerprint<? extends RadioSource,? extends R extends Reading<? extends RadioSource>> fingerprint
      Fingerprint containing readings of different sources.
    • sourceQualityScores

      private final double[] sourceQualityScores
      Quality scores associated to each radio source.
    • fingerprintReadingsQualityScores

      private final double[] fingerprintReadingsQualityScores
      Quality scores associated to each reading within the fingerprint.
    • sortedSourcesAndReadings

      private List<ReadingSorter.RadioSourceSourceWithQualityScore<P extends com.irurueta.geometry.Point<?>,R extends Reading<? extends RadioSource>>> sortedSourcesAndReadings
      Contains sorted sources and readings.
  • Constructor Details

    • ReadingSorter

      ReadingSorter(List<? extends RadioSourceLocated<P>> sources, Fingerprint<? extends RadioSource,? extends R> fingerprint, double[] sourceQualityScores, double[] fingerprintReadingsQualityScores)
      Constructor.
      Parameters:
      sources - sources to take into account within readings.
      fingerprint - fingerprint containing readings of different sources.
      sourceQualityScores - quality scores associated to each radio source.
      fingerprintReadingsQualityScores - quality scores associated to each reading within the fingerprint.
      Throws:
      IllegalArgumentException - if number of source quality scores is not equal to the number of sources, or if number of fingerprint reading quality scores is not equal to the number of readings within fingerprint.
  • Method Details

    • getSources

      public List<RadioSourceLocated<P>> getSources()
      Gets sources to be taken into account within readings.
      Returns:
      sources to be taken into account within readings.
    • getFingerprint

      public Fingerprint<RadioSource,Reading<RadioSource>> getFingerprint()
      Gets fingerprint containing readings of different sources.
      Returns:
      fingerprint containing readings of different sources.
    • getSourceQualityScores

      double[] getSourceQualityScores()
      Gets quality scores associated to each radio source.
      Returns:
      quality scores associated to each radio source.
    • getFingerprintReadingsQualityScores

      double[] getFingerprintReadingsQualityScores()
      Gets quality scores associated to each reading within the fingerprint.
      Returns:
      quality scores associated to each reading within the fingerprint.
    • sort

      void sort()
      Sorts readings with quality scores.
    • getSortedSourcesAndReadings

      List<ReadingSorter.RadioSourceSourceWithQualityScore<P,R>> getSortedSourcesAndReadings()
      Gets sorted sources and readings.
      Returns:
      sorted sources and readings.