LogRange.h
Go to the documentation of this file.
1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */
2 
3 /*
4  Sonic Visualiser
5  An audio file viewer and annotation editor.
6  Centre for Digital Music, Queen Mary, University of London.
7  This file copyright 2006 Chris Cannam.
8 
9  This program is free software; you can redistribute it and/or
10  modify it under the terms of the GNU General Public License as
11  published by the Free Software Foundation; either version 2 of the
12  License, or (at your option) any later version. See the file
13  COPYING included with this distribution for more information.
14 */
15 
16 #ifndef SV_LOG_RANGE_H
17 #define SV_LOG_RANGE_H
18 
19 #include <vector>
20 #include "Debug.h"
21 
22 class LogRange
23 {
24 public:
30  static double map(double value, double thresh = -10);
31 
36  static double unmap(double value);
37 
44  static void mapRange(double &min, double &max, double thresh = -10);
45 
51  static bool shouldUseLogScale(std::vector<double> values);
52 
53 };
54 
55 #endif
static void mapRange(double &min, double &max, double thresh=-10)
Map a linear range onto a logarithmic range.
Definition: LogRange.cpp:24
static double unmap(double value)
Map a value from the logarithmic range back again.
Definition: LogRange.cpp:71
static double map(double value, double thresh=-10)
Map a value onto a logarithmic range.
Definition: LogRange.cpp:64
static bool shouldUseLogScale(std::vector< double > values)
Estimate whether a set of values would be more properly shown using a logarithmic than a linear scale...
Definition: LogRange.cpp:93