Ignore:
Timestamp:
Feb 20, 2009, 11:28:18 PM (13 years ago)
Author:
Peter
Message:

Finalized dox for qQuantileNormalizer. Closes #478

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/yat/normalizer/qQuantileNormalizer.h

    r1813 r1814  
    100100       the cspline fit utilized in the normalization.
    101101
    102        Requirements:
    103        - ForwardIterator must be a model of Forward Iterator
    104        - ForwardIterator's value type is either convertible to double
    105          or in the weighted case convertible to utility::DataWeight.
     102       \tparam ForwardIterator is a model of \forward_iterator, and is
     103       either a \ref concept_weighted_iterator or unweighted with
     104       value type convertible to \c double.
     105
    106106    */
    107107    template<typename ForwardIterator>
     
    114114       Elements in [\a first, \a last) are normalized as described
    115115       above and the result is assigned to [\a result, \a result + \a
    116        last-\a first). In the weighted case, weights are copied from
     116       last-\a first). Input range [\a first, \a last) is not
     117       modified. If ranges are weighted, the weights are copied from
     118       [\a first, \a last) to \a result range.
    117119
    118120       It is possible to normalize "in place"; it is permissible for
     
    121123       the same as any in range [\a first, \a last).
    122124
    123        Requirements:
    124        - RandomAccessIterator1 is a model of Random Access Iterator
    125        - RandomAccessIterator2 is a model of Random Access Iterator
    126        - RandomAccessIterator2 is mutable
    127        - Either RandomAccessIterator1's and RandomAccessIterator2's
    128          value types are convertible to double OR
    129          RandomAccessIterator1 and RandomAccessIterator2 are models of
    130          \ref concept_weighted_iterator
     125       \tparam RandomAccessIterator1 is a model of
     126       \random_access_iterator, and is either a \ref
     127       concept_weighted_iterator or unweighted with value type
     128       convertible to \c double.
     129
     130       \tparam RandomAccessIterator2 is a model of
     131       \random_access_iterator and its value type is convertible from
     132       \c double. \a RandomAccessIterator2 is mutable.
     133
    131134     */
    132135    template<typename RandomAccessIterator1, typename RandomAccessIterator2>
     
    138141  /**
    139142     \brief Partition a range of data into equal sizes.
     143
     144     Copy the range [first, last), sort the copy, and divide the
     145     sorted copy in N parts. The parts are created such that the total
     146     weight in a part is approximately W/N where W is the total weight
     147     (over all parts). The class calculates the average value in each
     148     part and also the "quantile".
    140149
    141150     The class also calculates the average of each part and assigns
     
    161170
    162171    /**
    163        \brief Return the mid point for each partition.
     172       The quantile (here) is defined as (w_lower + w_upper) / 2W,
     173       where w_lower is the total weight of elements smaller than the
     174       smallest element in the part, and w_upper is the total weight
     175       of elements smaller (or equal) than the largest value in the
     176       part. 
     177
     178       In the unweighted case all weights are 1.0, which implies q_0 =
     179       n_0/N, q_1 = (n_0+n_1/2)/N, q_2 = (n_0+n_1+n_2/2)/N where n_i
     180       is number of elements in ith part.
    164181
    165182       \return The quantiles vector.
Note: See TracChangeset for help on using the changeset viewer.