Пример #1
0
 /* add an histogram to the spec list */
 public static void AddHistogramToEffectSpecList(
     EffectSpecListRec EffectSpecList,
     HistogramSpecRec HistogramSpec,
     bool EnabledFlag)
 {
     AddGenericToEffectSpecList(EffectSpecList, EffectTypes.eHistogramEffect, HistogramSpec, EnabledFlag);
 }
Пример #2
0
            /* create a new histogram processor */
            public static HistogramRec NewHistogram(
                HistogramSpecRec Template,
                SynthParamRec SynthParams)
            {
                double Cutoff;

                HistogramRec Histogram = new HistogramRec();

                Histogram.HistogramString = GetHistogramSpecLabel(Template);

                Histogram.NumBins  = GetHistogramSpecNumBins(Template);
                Histogram.BinArray = new int[Histogram.NumBins];

                Histogram.LeftLowpass  = new FirstOrderLowpassRec();
                Histogram.RightLowpass = new FirstOrderLowpassRec();

                Cutoff = GetHistogramSpecPowerEstimatorCutoff(Template);
                FirstOrderLowpassRec.SetFirstOrderLowpassCoefficients(
                    Histogram.LeftLowpass,
                    Cutoff,
                    SynthParams.dSamplingRate);
                FirstOrderLowpassRec.SetFirstOrderLowpassCoefficients(
                    Histogram.RightLowpass,
                    Cutoff,
                    SynthParams.dSamplingRate);

                Histogram.Min    = GetHistogramSpecBottom(Template);
                Histogram.Max    = GetHistogramSpecTop(Template);
                Histogram.Unders = 0;
                Histogram.Overs  = 0;

                Histogram.IgnoreUnders  = GetHistogramSpecDiscardUnders(Template);
                Histogram.Logarithmic   = GetHistogramSpecBinDistribution(Template);
                Histogram.ChannelSelect = GetHistogramSpecChannelSelector(Template);
                Histogram.FilterMethod  = GetHistogramSpecPowerEstimatorMethod(Template);
                Histogram.ChartWidth    = GetHistogramSpecBarChartWidth(Template);

                Histogram.IgnoreUnders = Histogram.IgnoreUnders || (Histogram.Min == 0);
                if (Histogram.Logarithmic)
                {
                    Histogram.LnMin = Math.Log(Histogram.Min);
                    Histogram.LnMax = Math.Log(Histogram.Max);
                }

                return(Histogram);
            }
Пример #3
0
        /* create a new histogram spec */
        public static HistogramSpecRec NewHistogramSpec(string Identifier)
        {
            HistogramSpecRec Histogram = new HistogramSpecRec();

            Histogram.Label = Identifier;
            Histogram.PowerEstimatorCutoff = 10;
            Histogram.PowerEstimatorMethod = HistogramPowerEstType.eHistogramAbsVal;
            //Histogram.DiscardUnders = false;
            //Histogram.NumPointsInChart = 0;
            //Histogram.Bottom = 0;
            Histogram.Top     = 1;
            Histogram.NumBins = 10;
            //Histogram.LogBinDistribution = false;
            Histogram.ChannelSelector = HistogramChannelType.eHistogramAverageBeforeFilter;

            return(Histogram);
        }
Пример #4
0
 /* get logarithmic/linear binning (false = linear, true = log) */
 public static bool GetHistogramSpecBinDistribution(HistogramSpecRec Histogram)
 {
     return(Histogram.LogBinDistribution);
 }
Пример #5
0
 /* set logarithmic/linear binning (false = linear, true = log) */
 public static void SetHistogramSpecBinDistribution(
     HistogramSpecRec Histogram,
     bool Logarithmic)
 {
     Histogram.LogBinDistribution = Logarithmic;
 }
Пример #6
0
 /* get number of bins */
 public static int GetHistogramSpecNumBins(HistogramSpecRec Histogram)
 {
     return(Histogram.NumBins);
 }
Пример #7
0
 /* get cutoff frequency for power estimator */
 public static double GetHistogramSpecPowerEstimatorCutoff(HistogramSpecRec Histogram)
 {
     return(Histogram.PowerEstimatorCutoff);
 }
Пример #8
0
 /* set power estimation mode */
 public static void SetHistogramSpecPowerEstimatorMode(
     HistogramSpecRec Histogram,
     HistogramPowerEstType Method)
 {
     Histogram.PowerEstimatorMethod = Method;
 }
Пример #9
0
 /* set bottom level of range */
 public static void SetHistogramSpecBottom(
     HistogramSpecRec Histogram,
     double Bottom)
 {
     Histogram.Bottom = Bottom;
 }
Пример #10
0
 /* get number of points in bar chart (0 = don't print chart) */
 public static int GetHistogramSpecBarChartWidth(HistogramSpecRec Histogram)
 {
     return(Histogram.NumPointsInChart);
 }
Пример #11
0
 /* set number of points in bar chart (0 = don't print chart) */
 public static void SetHistogramSpecBarChartWidth(
     HistogramSpecRec Histogram,
     int NumPoints)
 {
     Histogram.NumPointsInChart = NumPoints;
 }
Пример #12
0
 /* get discard-unders flag */
 public static bool GetHistogramSpecDiscardUnders(HistogramSpecRec Histogram)
 {
     return(Histogram.DiscardUnders);
 }
Пример #13
0
 /* set discard-unders flag */
 public static void SetHistogramSpecDiscardUnders(
     HistogramSpecRec Histogram,
     bool Discard)
 {
     Histogram.DiscardUnders = Discard;
 }
Пример #14
0
 /* get power estimator method */
 public static HistogramPowerEstType GetHistogramSpecPowerEstimatorMethod(HistogramSpecRec Histogram)
 {
     return(Histogram.PowerEstimatorMethod);
 }
Пример #15
0
 /* set histogram channel selector */
 public static void SetHistogramSpecChannelSelector(
     HistogramSpecRec Histogram,
     HistogramChannelType Selector)
 {
     Histogram.ChannelSelector = Selector;
 }
Пример #16
0
 /* get histogram channel selector */
 public static HistogramChannelType GetHistogramSpecChannelSelector(HistogramSpecRec Histogram)
 {
     return(Histogram.ChannelSelector);
 }
Пример #17
0
 /* get bottom level of range */
 public static double GetHistogramSpecBottom(HistogramSpecRec Histogram)
 {
     return(Histogram.Bottom);
 }
Пример #18
0
 /* get actual heap block histogram identifier Label */
 public static string GetHistogramSpecLabel(HistogramSpecRec Histogram)
 {
     return(Histogram.Label);
 }
Пример #19
0
 /* set top level of range */
 public static void SetHistogramSpecTop(
     HistogramSpecRec Histogram,
     double Top)
 {
     Histogram.Top = Top;
 }
Пример #20
0
 /* set power estimator filter cutoff frequency */
 public static void SetHistogramSpecPowerEstimatorFilter(
     HistogramSpecRec Histogram,
     double FilterCutoff)
 {
     Histogram.PowerEstimatorCutoff = FilterCutoff;
 }
Пример #21
0
 /* get top level of range */
 public static double GetHistogramSpecTop(HistogramSpecRec Histogram)
 {
     return(Histogram.Top);
 }
Пример #22
0
 /* set number of bins */
 public static void SetHistogramSpecNumBins(
     HistogramSpecRec Histogram,
     int NumBins)
 {
     Histogram.NumBins = NumBins;
 }
 /* check histogram effect */
 public static SynthErrorCodes CheckHistogramEffectForUnreferencedSamples(
     HistogramSpecRec HistogramEffect,
     CheckUnrefParamRec Param)
 {
     return(SynthErrorCodes.eSynthDone);
 }