Class AbstractStarGroupDataProvider

    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean adaptiveParallax
      Whether to use an adaptive threshold which lets more bright stars in to avoid artifacts.
      protected com.badlogic.gdx.utils.LongMap<float[]> colors  
      protected long[] countsPerMag  
      protected double distCap
      Distance cap in parsecs
      protected LargeLongMap<java.lang.Double> geoDistances  
      protected long geoDistErrors
      Errors (negative or nan values) reading geometric distance files
      protected java.lang.String geoDistFile
      Points to the location of a file or directory which contains a set of
      protected com.badlogic.gdx.utils.Array<StarGroup.StarBean> list  
      protected static Logger.Log logger  
      protected boolean magCorrections
      Apply magnitude/color corrections for extinction/reddening
      protected java.util.Set<java.lang.Long> mustLoadIds  
      static double NEGATIVE_DIST  
      protected double parallaxErrorFactorBright
      The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1].
      protected double parallaxErrorFactorFaint
      The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1].
      protected double parallaxZeroPoint
      The zero point for the parallaxes in mas.
      protected java.lang.Double ruwe
      RUWE cap value.
      protected java.lang.String ruweFile
      Location of gzipped file with
      protected LargeLongMap<java.lang.Float> ruweValues  
      protected com.badlogic.gdx.utils.LongMap<double[]> sphericalPositions  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected boolean acceptDistance​(double distance)
      Checks whether to accept the distance
      protected boolean acceptParallax​(double appmag, double pllx, double pllxerr)
      Checks whether the parallax is accepted or not.
      protected int countLines​(com.badlogic.gdx.files.FileHandle f)  
      protected int countLines​(java.io.InputStream is)
      Counts the lines on this input stream
      protected void dumpToDisk​(com.badlogic.gdx.utils.Array<StarGroup.StarBean> data, java.lang.String filename, java.lang.String format)  
      protected void dumpToDiskBin​(com.badlogic.gdx.utils.Array<StarGroup.StarBean> data, java.lang.String filename, boolean serialized)  
      protected void dumpToDiskCsv​(com.badlogic.gdx.utils.Array<StarGroup.StarBean> data, java.lang.String filename)  
      com.badlogic.gdx.utils.LongMap<float[]> getColors()  
      long[] getCountsPerMag()
      Gets the star counts per magnitude
      protected double getGeoDistance​(long sourceId)
      Gets the distance in parsecs to the star from the geometric distances map, if it exists.
      protected float getRuweValue​(long sourceId)  
      protected boolean hasGeoDistance​(long sourceId)  
      protected boolean hasGeoDistances()  
      protected void initLists()  
      protected void initLists​(int elems)
      Initialises the lists and structures given number of elements
      protected void initLists​(com.badlogic.gdx.files.FileHandle f)
      Initialises the lists and structures given a file by counting the number of lines
      protected boolean mustLoad​(long id)
      Returns whether the star must be loaded or not
      void setAdaptiveParallax​(boolean adaptive)
      Whether to use an adaptive threshold, relaxing it for bright (appmag >= 13) stars to let more bright stars in.
      void setDistanceCap​(double distCap)
      Sets a distance cap.
      void setFileNumberCap​(int cap)
      Sets a cap on the number of files to load.
      void setGeoDistancesFile​(java.lang.String geoDistFile)
      Sets the location of the geometric distances file or directory
      void setMagCorrections​(boolean magCorrections)
      Sets the flag to apply magnitude and color corrections for extinction and reddening
      void setMustLoadIds​(java.util.Set<java.lang.Long> ids)
      Adds a set with all the ids which will be loaded regardless of any other conditions (i.e.
      void setParallaxErrorFactorBright​(double parallaxErrorFactor)
      The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1].
      void setParallaxErrorFactorFaint​(double parallaxErrorFactor)
      The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1].
      void setParallaxZeroPoint​(double parallaxZeroPoint)
      Sets the zero point of the parallax as an addition to the parallax values, in [mas]
      void setRUWECap​(double RUWE)
      Sets the RUWE criteria.
      void setRUWEFile​(java.lang.String RUWEFile)
      Sets the location of the gzipped RUWE file
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • NEGATIVE_DIST

        public static double NEGATIVE_DIST
      • sphericalPositions

        protected com.badlogic.gdx.utils.LongMap<double[]> sphericalPositions
      • colors

        protected com.badlogic.gdx.utils.LongMap<float[]> colors
      • countsPerMag

        protected long[] countsPerMag
      • geoDistances

        protected LargeLongMap<java.lang.Double> geoDistances
      • ruweValues

        protected LargeLongMap<java.lang.Float> ruweValues
      • mustLoadIds

        protected java.util.Set<java.lang.Long> mustLoadIds
      • geoDistFile

        protected java.lang.String geoDistFile
        Points to the location of a file or directory which contains a set of
      • ruweFile

        protected java.lang.String ruweFile
        Location of gzipped file with
      • ruwe

        protected java.lang.Double ruwe
        RUWE cap value. Will accept all stars with star_ruwe <= ruwe
      • geoDistErrors

        protected long geoDistErrors
        Errors (negative or nan values) reading geometric distance files
      • distCap

        protected double distCap
        Distance cap in parsecs
      • parallaxErrorFactorFaint

        protected double parallaxErrorFactorFaint

        The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1]. Faint stars (gmag >= 13.1) More specifically, the following must be met:

        pllx_err < pllx * pllxErrFactor
      • parallaxErrorFactorBright

        protected double parallaxErrorFactorBright

        The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1]. Bright stars (gmag < 13.1) More specifically, the following must be met:

        pllx_err < pllx * pllxErrFactor
      • adaptiveParallax

        protected boolean adaptiveParallax
        Whether to use an adaptive threshold which lets more bright stars in to avoid artifacts.
      • parallaxZeroPoint

        protected double parallaxZeroPoint
        The zero point for the parallaxes in mas. Gets added to all loaded parallax values
      • magCorrections

        protected boolean magCorrections
        Apply magnitude/color corrections for extinction/reddening
    • Constructor Detail

      • AbstractStarGroupDataProvider

        public AbstractStarGroupDataProvider()
    • Method Detail

      • initLists

        protected void initLists​(com.badlogic.gdx.files.FileHandle f)
        Initialises the lists and structures given a file by counting the number of lines
        Parameters:
        f - The file handle to count the lines
      • initLists

        protected void initLists​(int elems)
        Initialises the lists and structures given number of elements
        Parameters:
        elems -
      • initLists

        protected void initLists()
      • mustLoad

        protected boolean mustLoad​(long id)
        Returns whether the star must be loaded or not
        Parameters:
        id - The star ID
        Returns:
        Whether the star with the given ID must be loaded
      • acceptParallax

        protected boolean acceptParallax​(double appmag,
                                         double pllx,
                                         double pllxerr)
        Checks whether the parallax is accepted or not.

        If adaptive is not enabled:

         accepted = pllx > 0 && pllx_err < pllx * pllx_err_factor && pllx_err <= 1
         

        If adaptive is enabled:

         accepted = pllx > 0 && pllx_err < pllx * max(0.5, pllx_err_factor) && pllx_err <= 1, if apparent_magnitude < 13.2
         accepted = pllx > 0 && pllx_err < pllx * pllx_err_factor && pllx_err <= 1, otherwise
         

        Parameters:
        appmag - Apparent magnitude of star
        pllx - Parallax of star
        pllxerr - Parallax error of star
        Returns:
        True if parallax is accepted, false otherwise
      • getRuweValue

        protected float getRuweValue​(long sourceId)
      • getGeoDistance

        protected double getGeoDistance​(long sourceId)
        Gets the distance in parsecs to the star from the geometric distances map, if it exists. Otherwise, it returns a negative value.
        Parameters:
        sourceId - The source id of the source
        Returns:
        The geometric distance in parsecs if it exists, -1 otherwise.
      • acceptDistance

        protected boolean acceptDistance​(double distance)
        Checks whether to accept the distance
        Parameters:
        distance - Distance in parsecs
        Returns:
        Whether to accept the distance or not
      • hasGeoDistance

        protected boolean hasGeoDistance​(long sourceId)
      • hasGeoDistances

        protected boolean hasGeoDistances()
      • countLines

        protected int countLines​(com.badlogic.gdx.files.FileHandle f)
                          throws java.io.IOException
        Throws:
        java.io.IOException
      • setMustLoadIds

        public void setMustLoadIds​(java.util.Set<java.lang.Long> ids)
        Description copied from interface: IStarGroupDataProvider
        Adds a set with all the ids which will be loaded regardless of any other conditions (i.e. parallax error thresholds)
        Specified by:
        setMustLoadIds in interface IStarGroupDataProvider
        Parameters:
        ids - The ids that must be loaded
      • countLines

        protected int countLines​(java.io.InputStream is)
                          throws java.io.IOException
        Counts the lines on this input stream
        Parameters:
        is - The input stream
        Returns:
        The number of lines
        Throws:
        java.io.IOException
      • dumpToDisk

        protected void dumpToDisk​(com.badlogic.gdx.utils.Array<StarGroup.StarBean> data,
                                  java.lang.String filename,
                                  java.lang.String format)
      • dumpToDiskBin

        protected void dumpToDiskBin​(com.badlogic.gdx.utils.Array<StarGroup.StarBean> data,
                                     java.lang.String filename,
                                     boolean serialized)
      • dumpToDiskCsv

        protected void dumpToDiskCsv​(com.badlogic.gdx.utils.Array<StarGroup.StarBean> data,
                                     java.lang.String filename)
      • setParallaxErrorFactorFaint

        public void setParallaxErrorFactorFaint​(double parallaxErrorFactor)
        Description copied from interface: IStarGroupDataProvider

        The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1]. This applies to faint stars (gmag >= 13.1) More specifically, the following must be met:

        pllx_err < pllx * pllxErrFactor
        Specified by:
        setParallaxErrorFactorFaint in interface IStarGroupDataProvider
        Parameters:
        parallaxErrorFactor - The percentage value of parallax errors with respect to parallax
      • setParallaxErrorFactorBright

        public void setParallaxErrorFactorBright​(double parallaxErrorFactor)
        Description copied from interface: IStarGroupDataProvider

        The loader will only load stars for which the parallax error is at most the percentage given here, in [0..1]. This applies to bright stars (gmag < 13.1) More specifically, the following must be met:

        pllx_err < pllx * pllxErrFactor
        Specified by:
        setParallaxErrorFactorBright in interface IStarGroupDataProvider
        Parameters:
        parallaxErrorFactor - The percentage value of parallax errors with respect to parallax
      • setAdaptiveParallax

        public void setAdaptiveParallax​(boolean adaptive)
        Description copied from interface: IStarGroupDataProvider
        Whether to use an adaptive threshold, relaxing it for bright (appmag >= 13) stars to let more bright stars in.
        Specified by:
        setAdaptiveParallax in interface IStarGroupDataProvider
      • setParallaxZeroPoint

        public void setParallaxZeroPoint​(double parallaxZeroPoint)
        Description copied from interface: IStarGroupDataProvider
        Sets the zero point of the parallax as an addition to the parallax values, in [mas]
        Specified by:
        setParallaxZeroPoint in interface IStarGroupDataProvider
        Parameters:
        parallaxZeroPoint - The parallax zero point
      • setMagCorrections

        public void setMagCorrections​(boolean magCorrections)
        Description copied from interface: IStarGroupDataProvider
        Sets the flag to apply magnitude and color corrections for extinction and reddening
        Specified by:
        setMagCorrections in interface IStarGroupDataProvider
        Parameters:
        magCorrections - Whether to apply the corrections
      • setGeoDistancesFile

        public void setGeoDistancesFile​(java.lang.String geoDistFile)
        Description copied from interface: IStarGroupDataProvider
        Sets the location of the geometric distances file or directory
        Specified by:
        setGeoDistancesFile in interface IStarGroupDataProvider
        Parameters:
        geoDistFile - File or directory with geometric distances per sourceId
      • setDistanceCap

        public void setDistanceCap​(double distCap)
        Description copied from interface: IStarGroupDataProvider
        Sets a distance cap. Stars beyond this distance will not be loaded
        Specified by:
        setDistanceCap in interface IStarGroupDataProvider
        Parameters:
        distCap - The distance cap, in parsecs
      • setRUWEFile

        public void setRUWEFile​(java.lang.String RUWEFile)
        Description copied from interface: IStarGroupDataProvider
        Sets the location of the gzipped RUWE file
        Specified by:
        setRUWEFile in interface IStarGroupDataProvider
        Parameters:
        RUWEFile - Gzipped file with RUWE values for each source id
      • setRUWECap

        public void setRUWECap​(double RUWE)
        Description copied from interface: IStarGroupDataProvider
        Sets the RUWE criteria. RUWE file must have been set
        Specified by:
        setRUWECap in interface IStarGroupDataProvider
        Parameters:
        RUWE - The criteria (usually 1.4)