# Uses of Class org.deidentifier.arx.metric.Metric (ARX GUI Documentation)

## Uses of Class
org.deidentifier.arx.metric.Metric

- Packages that use Metric
  Package | Description
  --- | ---
  org.deidentifier.arx | This package provides the public API for the ARX anonymization framework.
  org.deidentifier.arx.gui.model |
  org.deidentifier.arx.metric | This package implements several metrics for information loss.
  org.deidentifier.arx.metric.v2 |

- - ### Uses of Metric in org.deidentifier.arx

    Methods in org.deidentifier.arx that return Metric
    Modifier and Type | Method and Description
    --- | ---
    `Metric<?>` | ARXConfiguration.`getMetric()` Deprecated.
    `Metric<?>` | ARXConfiguration.`getQualityModel()` Returns the quality model to be used for optimizing output data.
    `Metric<?>` | ARXConfiguration.ARXConfigurationInternal.`getQualityModel()` Returns the quality model to be used for optimizing output data.

    Methods in org.deidentifier.arx with parameters of type Metric
    Modifier and Type | Method and Description
    --- | ---
    `static ARXConfiguration` | ARXConfiguration.`create(double suppressionLimit, Metric<?> metric)` Creates a new configuration that allows the given percentage of outliers and thus implements tuple suppression.
    `static ARXConfiguration` | ARXConfiguration.`create(Metric<?> metric)` Creates a new configuration that allows to define the metric for measuring information loss.
    `void` | ARXConfiguration.`setMetric(Metric<?> model)` Deprecated.
    `void` | ARXConfiguration.`setQualityModel(Metric<?> model)` Sets the quality model to be used for optimizing output data.
    `void` | ARXLattice.Access.`setQualityModel(Metric<?> model)` Accessor method

    Constructors in org.deidentifier.arx with parameters of type Metric
    Constructor and Description
    `ARXResult(DataHandle handle, DataDefinition definition, ARXLattice lattice, int historySize, double snapshotSizeSnapshot, double snapshotSizeDataset, Metric<?> metric, ARXConfiguration config, ARXLattice.ARXNode optimum, long time, org.deidentifier.arx.framework.lattice.SolutionSpace solutionSpace)` Internal constructor for deserialization.

  - ### Uses of Metric in org.deidentifier.arx.gui.model

    Methods in org.deidentifier.arx.gui.model that return Metric
    Modifier and Type | Method and Description
    --- | ---
    `Metric<?>` | ModelConfiguration.`getMetric()` Delegates to an instance of ARXConfiguration.

    Methods in org.deidentifier.arx.gui.model with parameters of type Metric
    Modifier and Type | Method and Description
    --- | ---
    `void` | ModelConfiguration.`setMetric(Metric<?> metric)` Delegates to an instance of ARXConfiguration.

  - ### Uses of Metric in org.deidentifier.arx.metric

    Subclasses of Metric in org.deidentifier.arx.metric
    Modifier and Type | Class and Description
    --- | ---
    `class` | `MetricAECS` This class provides an implementation of the (normalized) average equivalence class size metric.
    `class` | `MetricDefault` This class provides an abstract skeleton for the implementation of metrics.
    `class` | `MetricDM` This class provides an implementation of the DM metric (non-monotonic).
    `class` | `MetricDMStar` This class provides an implementation of the DM* metric (monotonic variant of the Discernability Metric).
    `class` | `MetricEntropy` This class provides an efficient implementation of the non-uniform entropy metric.
    `class` | `MetricHeight` This class provides an implementation of the Height metric.
    `class` | `MetricNMEntropy` This class provides an efficient implementation of a non-monotonic and non-uniform entropy metric.
    `class` | `MetricNMPrecision` This class provides an implementation of a weighted precision metric as proposed in: Sweeney, L.
    `class` | `MetricPrecision` This class provides an implementation of a monotonic weighted precision metric.
    `class` | `MetricStatic` This class provides an implementation of a static metric in which information loss is user-defined per generalization level.
    `class` | `MetricWeighted<T extends InformationLoss<?>>` This class provides an abstract skeleton for the implementation of weighted metrics.

    Methods in org.deidentifier.arx.metric that return Metric
    Modifier and Type | Method and Description
    --- | ---
    `static Metric<ILSingleDimensional>` | Metric.`createAECSMetric()` Creates a new instance of the AECS metric.
    `static Metric<ILSingleDimensional>` | Metric.`createAECSMetric(double gsFactor)` Creates a new instance of the AECS metric.
    `static Metric<ILSingleDimensional>` | Metric.`createAmbiguityMetric()` Creates an instance of the ambiguity metric.
    `static Metric<ILSingleDimensional>` | Metric.`createDiscernabilityMetric()` Creates an instance of the discernability metric.
    `static Metric<ILSingleDimensional>` | Metric.`createDiscernabilityMetric(boolean monotonic)` Creates an instance of the discernability metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createEntropyMetric()` Creates an instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createEntropyMetric(boolean monotonic)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createEntropyMetric(boolean monotonic, double gsFactor)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createEntropyMetric(boolean monotonic, double gsFactor, Metric.AggregateFunction function)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createEntropyMetric(boolean monotonic, Metric.AggregateFunction function)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createEntropyMetric(double gsFactor)` Creates an instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createHeightMetric()` Creates an instance of the height metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createHeightMetric(Metric.AggregateFunction function)` Creates an instance of the height metric.
    `abstract Metric<?>` | MetricDescription.`createInstance(MetricConfiguration config)` Creates an instance with the given configuration options.
    `static Metric<ILSingleDimensional>` | Metric.`createKLDivergenceMetric()` Creates an instance of the KL Divergence metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createLossMetric()` Creates an instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createLossMetric(double gsFactor)` Creates an instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createLossMetric(double gsFactor, Metric.AggregateFunction function)` Creates an instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createLossMetric(Metric.AggregateFunction function)` Creates an instance of the loss metric which treats generalization and suppression equally.
    `static Metric<?>` | Metric.`createMetric(Metric<?> metric, int minLevel, int maxLevel)` This method supports backwards compatibility.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createNormalizedEntropyMetric()` Creates an instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createNormalizedEntropyMetric(Metric.AggregateFunction function)` Creates an instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric()` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(boolean monotonic)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(boolean monotonic, double gsFactor)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(boolean monotonic, double gsFactor, Metric.AggregateFunction function)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(boolean monotonic, Metric.AggregateFunction function)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(double gsFactor)` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(double gsFactor, Metric.AggregateFunction function)` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecisionMetric(Metric.AggregateFunction function)` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedEntropyMetric(double threshold)` Creates a potentially precomputed instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedEntropyMetric(double threshold, boolean monotonic)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedEntropyMetric(double threshold, boolean monotonic, double gsFactor)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedEntropyMetric(double threshold, boolean monotonic, double gsFactor, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedEntropyMetric(double threshold, boolean monotonic, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedEntropyMetric(double threshold, double gsFactor)` Creates a potentially precomputed instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedLossMetric(double threshold)` Creates a potentially precomputed instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedLossMetric(double threshold, double gsFactor)` Creates a potentially precomputed instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedLossMetric(double threshold, double gsFactor, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedLossMetric(double threshold, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedNormalizedEntropyMetric(double threshold)` Creates a potentially precomputed instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createPrecomputedNormalizedEntropyMetric(double threshold, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss)` Creates an instance of a metric with statically defined information loss.
    `static Metric<AbstractILMultiDimensional>` | Metric.`createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss, Metric.AggregateFunction function)` Creates an instance of a metric with statically defined information loss.

    Methods in org.deidentifier.arx.metric with parameters of type Metric
    Modifier and Type | Method and Description
    --- | ---
    `static InformationLoss<?>` | InformationLoss.`createInformationLoss(InformationLoss<?> loss, Metric<?> metric, int minLevel, int maxLevel)` Converter method, converting information loss from version 1 to information loss from version 2, if necessary.
    `static Metric<?>` | Metric.`createMetric(Metric<?> metric, int minLevel, int maxLevel)` This method supports backwards compatibility.
    `protected static MetricDescription` | Metric.`getDescription(Metric<?> metric)` Returns a description for the given metric, if there is any, null otherwise.
    `abstract boolean` | MetricDescription.`isInstance(Metric<?> metric)` Returns whether the given metric is an instance of this description.

  - ### Uses of Metric in org.deidentifier.arx.metric.v2

    Subclasses of Metric in org.deidentifier.arx.metric.v2
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractMetricMultiDimensional` This class provides an abstract skeleton for the implementation of multi-dimensional metrics.
    `class` | `AbstractMetricMultiDimensionalPotentiallyPrecomputed` This class provides an abstract skeleton for the implementation of metrics that can either be precomputed or not.
    `class` | `AbstractMetricSingleDimensional` This class provides an abstract skeleton for the implementation of single-dimensional metrics.
    `class` | `MetricMDHeight` This class provides an implementation of the Height metric.
    `class` | `MetricMDNMLoss` This class implements a variant of the Loss metric.
    `class` | `MetricMDNMLossPotentiallyPrecomputed` This class implements a variant of the Loss metric.
    `class` | `MetricMDNMLossPrecomputed` This class implements a variant of the Loss metric.
    `class` | `MetricMDNMPrecision` This class provides an implementation of a weighted precision metric as proposed in: Sweeney, L.
    `class` | `MetricMDNUEntropy` This class provides an implementation of the non-uniform entropy metric.
    `class` | `MetricMDNUEntropyPotentiallyPrecomputed` This class provides an implementation of the non-uniform entropy metric.
    `class` | `MetricMDNUEntropyPrecomputed` This class provides an efficient implementation of the non-uniform entropy metric.
    `class` | `MetricMDNUNMEntropy` This class provides an implementation of the non-uniform entropy metric.
    `class` | `MetricMDNUNMEntropyPotentiallyPrecomputed` This class provides an implementation of the non-uniform entropy metric.
    `class` | `MetricMDNUNMEntropyPrecomputed` This class provides an implementation of the non-uniform entropy metric.
    `class` | `MetricMDNUNMNormalizedEntropy` This class provides an implementation of normalized non-uniform entropy
    `class` | `MetricMDNUNMNormalizedEntropyPotentiallyPrecomputed` This class provides an implementation of normalized non-uniform entropy
    `class` | `MetricMDNUNMNormalizedEntropyPrecomputed` This class provides an efficient implementation of normalized non-uniform entropy
    `class` | `MetricMDPrecision` This class provides an implementation of a weighted precision metric as proposed in: Sweeney, L.
    `class` | `MetricMDStatic` This class provides an implementation of a static metric in which information loss is user-defined per generalization level.
    `class` | `MetricSDAECS` This class provides an implementation of the (normalized) average equivalence class size metric.
    `class` | `MetricSDDiscernability` This class provides an implementation of the monotonic DM* metric.
    `class` | `MetricSDNMAmbiguity` This class implements a variant of the Ambiguity metric.
    `class` | `MetricSDNMDiscernability` This class provides an implementation of the non-monotonic DM metric.
    `class` | `MetricSDNMEntropyBasedInformationLoss` This class implements a the entropy-based information loss model proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.
    `class` | `MetricSDNMKLDivergence` This class implements the KL Divergence metric.
    `class` | `MetricSDNMPublisherPayout` This class implements a model which maximizes publisher benefit according to the model proposed in: A Game Theoretic Framework for Analyzing Re-Identification Risk.

    Methods in org.deidentifier.arx.metric.v2 that return Metric
    Modifier and Type | Method and Description
    --- | ---
    `static Metric<ILSingleDimensional>` | __MetricV2.`createAECSMetric()` Creates a new instance of the AECS metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createAECSMetric(double gsFactor)` Creates a new instance of the AECS metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createAECSMetric(int rowCount)` Creates a new instance of the AECS metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createAmbiguityMetric()` Creates an instance of the ambiguity metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createDiscernabilityMetric()` Creates an instance of the discernability metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createDiscernabilityMetric(boolean monotonic)` Creates an instance of the discernability metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createDiscernabilityMetric(boolean monotonic, double numTuples)` Creates an instance of the discernability metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric()` Creates an instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric(boolean monotonic)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric(boolean monotonic, double gsFactor)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric(boolean monotonic, double[][] cache, int[][][] cardinalities, int[][][] hierarchies)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric(boolean monotonic, double gsFactor, Metric.AggregateFunction function)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric(boolean monotonic, Metric.AggregateFunction function)` Creates an instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createEntropyMetric(double gsFactor)` Creates an instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createHeightMetric()` Creates an instance of the height metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createHeightMetric(int minHeight, int maxHeight)` Creates an instance of the height metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createHeightMetric(Metric.AggregateFunction function)` Creates an instance of the height metric.
    `static Metric<ILSingleDimensional>` | __MetricV2.`createKLDivergenceMetric()` Creates an instance of the KL Divergence metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createLossMetric()` Creates an instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createLossMetric(double gsFactor)` Creates an instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createLossMetric(double gsFactor, Metric.AggregateFunction function)` Creates an instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createLossMetric(Metric.AggregateFunction function)` Creates an instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createNormalizedEntropyMetric()` Creates an instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createNormalizedEntropyMetric(Metric.AggregateFunction function)` Creates an instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric()` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(boolean monotonic)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(boolean monotonic, double gsFactor)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(boolean monotonic, double gsFactor, Metric.AggregateFunction function)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(boolean monotonic, int[] heights, double cells)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(boolean monotonic, Metric.AggregateFunction function)` Creates an instance of the precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(double gsFactor)` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(double gsFactor, Metric.AggregateFunction function)` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecisionMetric(Metric.AggregateFunction function)` Creates an instance of the non-monotonic precision metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedEntropyMetric(double threshold)` Creates a potentially precomputed instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedEntropyMetric(double threshold, boolean monotonic)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedEntropyMetric(double threshold, boolean monotonic, double gsFactor)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedEntropyMetric(double threshold, boolean monotonic, double gsFactor, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedEntropyMetric(double threshold, boolean monotonic, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedEntropyMetric(double threshold, double gsFactor)` Creates a potentially precomputed instance of the non-monotonic non-uniform entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedLossMetric(double threshold)` Creates a potentially precomputed instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedLossMetric(double threshold, double gsFactor)` Creates a potentially precomputed instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedLossMetric(double threshold, double gsFactor, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the loss metric with factors for weighting generalization and suppression.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedLossMetric(double threshold, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the loss metric which treats generalization and suppression equally.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedNormalizedEntropyMetric(double threshold)` Creates a potentially precomputed instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createPrecomputedNormalizedEntropyMetric(double threshold, Metric.AggregateFunction function)` Creates a potentially precomputed instance of the normalized entropy metric.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss)` Creates an instance of a metric with statically defined information loss.
    `static Metric<AbstractILMultiDimensional>` | __MetricV2.`createStaticMetric(java.util.Map<java.lang.String,java.util.List<java.lang.Double>> loss, Metric.AggregateFunction function)` Creates an instance of a metric with statically defined information loss.