#include <extraction_metric.h>

Inheritance diagram for extraction_metric:
base_cycle_metric base_metric empty_metric

Public Types

enum  { MAX_CHANNELS = 4, TYPE = constants::Extraction, LATEST_VERSION = 3 }
 
typedef extraction_metric_header header_type
 
typedef std::vector< ushort_tushort_array_t
 
typedef std::vector< float > float_array_t
 
typedef ::uint16_t * ushort_pointer_t
 
typedef float * float_pointer_t
 
- Public Types inherited from base_cycle_metric
typedef base_cycle_metric_header header_type
 
typedef constants::base_cycle_t base_t
 
typedef uint16_t cycle_t
 
- Public Types inherited from base_metric
enum  {
  LANE_BIT_COUNT = 6, TILE_BIT_COUNT = 26, CYCLE_BIT_COUNT = 16, READ_BIT_COUNT = 16,
  RESERVED_BIT_COUNT = 16, READ_BIT_SHIFT = RESERVED_BIT_COUNT, CYCLE_BIT_SHIFT = RESERVED_BIT_COUNT, TILE_BIT_SHIFT = CYCLE_BIT_SHIFT+CYCLE_BIT_COUNT,
  LANE_BIT_SHIFT = TILE_BIT_SHIFT+TILE_BIT_COUNT
}
 
typedef ::uint64_t ulong_t
 
typedef ulong_t id_t
 
typedef ::uint16_t ushort_t
 
typedef ::uint32_t uint_t
 
typedef base_metric_header header_type
 
typedef ::uint8_t lane_t
 
typedef ::uint32_t tile_t
 
typedef constants::base_tile_t base_t
 
- Public Types inherited from empty_metric
typedef ::uint32_t id_t
 
typedef ::uint32_t uint_t
 
typedef constants::base_run_t base_t
 

Public Member Functions

 extraction_metric ()
 
 extraction_metric (const header_type &header)
 
 extraction_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const ulong_t date_time, const ushort_array_t &intensities_p90, const float_array_t &focus_scores)
 
 extraction_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const ulong_t date_time, const ushort_pointer_t intensities_p90, const float_pointer_t focus_scores, const uint_t channel_count=MAX_CHANNELS)
 
 extraction_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const util::csharp_date_time date_time, const ushort_array_t &intensities_p90, const float_array_t &focus_scores)
 
 extraction_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const util::csharp_date_time date_time, const ushort_pointer_t intensities_p90, const float_pointer_t focus_scores, const uint_t channel_count=MAX_CHANNELS)
 
 extraction_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const ushort_array_t &max_intensity_values, const float_array_t &focus_scores)
 
 extraction_metric (const uint_t lane, const uint_t tile, const uint_t cycle, const ::uint16_t *intensity_values, const size_t intensity_count, const float *focus_scores, const size_t focus_count, const size_t)
 
void set (const uint_t lane, const uint_t tile, const uint_t cycle, const ulong_t date_time, const ushort_array_t &max_intensity_values, const float_array_t &focus_scores)
 
void set (const uint_t lane, const uint_t tile, const uint_t cycle, const ushort_array_t &max_intensity_values, const float_array_t &focus_scores)
 
ulong_t date_time () const
 
const util::csharp_date_timedate_time_csharp () const
 
ulong_t date_time_csharp_raw () const
 
ushort_t max_intensity (const size_t channel) const INTEROP_THROW_SPEC((model
 
float focus_score (const size_t channel) const INTEROP_THROW_SPEC((model
 
const ushort_array_tmax_intensity_values () const
 
const float_array_tfocus_scores () const
 
size_t channel_count () const
 
void trim (const size_t channel_count)
 
float focusScore (size_t channel) const
 
ulong_t dateTime () const
 
const float_array_tfocusScores () const
 
void date_time (const ulong_t time)
 
bool is_any_p90_zero () const
 
- Public Member Functions inherited from base_cycle_metric
 base_cycle_metric (const uint_t lane=0, const uint_t tile=0, const uint_t cycle=0)
 
void set_base (const uint_t lane, const uint_t tile)
 
void set_base (const uint_t lane, const uint_t tile, const uint_t cycle)
 
template<class BaseCycleMetric >
void set_base (const BaseCycleMetric &base)
 
uint_t cycle () const
 
id_t id () const
 
id_t cycle_hash () const
 
bool operator< (const base_cycle_metric &metric2) const
 
- Public Member Functions inherited from base_metric
 base_metric (const uint_t lane=0, const uint_t tile=0)
 
void set_base (const uint_t lane, const uint_t tile)
 
template<class BaseMetric >
void set_base (const BaseMetric &base)
 
id_t id () const
 
id_t tile_hash () const
 
uint_t lane () const
 
uint_t tile () const
 
uint_t number (const illumina::interop::constants::tile_naming_method) const
 
uint_t section (const illumina::interop::constants::tile_naming_method method) const
 
uint_t surface (const illumina::interop::constants::tile_naming_method method) const
 
uint_t swath (const illumina::interop::constants::tile_naming_method method) const
 
uint_t phyiscalLocationIndex (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count, const uint_t swath_count, const bool all_surfaces) const
 
uint_t phyiscalLocationColumn (const illumina::interop::constants::tile_naming_method method, const uint_t swath_count, const bool all_surfaces) const
 
uint_t phyiscalLocationRow (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count) const
 
size_t physical_location_index (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count, const uint_t swath_count, const bool all_surfaces) const
 
uint_t physical_location_column (const illumina::interop::constants::tile_naming_method method, const uint_t swath_count, const bool all_surfaces) const
 
uint_t physical_location_row (const illumina::interop::constants::tile_naming_method method, const uint_t section_per_lane, const uint_t tile_count) const
 
bool operator< (const base_metric &metric2) const
 
- Public Member Functions inherited from empty_metric
template<class BaseMetric >
void set_base (const BaseMetric &)
 
void set_base (const uint_t, const uint_t)
 
bool operator< (const empty_metric &) const
 

Static Public Member Functions

static const char * prefix ()
 
- Static Public Member Functions inherited from base_cycle_metric
static id_t cycle_from_id (const id_t id)
 
static id_t reserved_from_id (const id_t id)
 
static id_t create_id (const id_t lane, const id_t tile, const id_t cycle)
 
- Static Public Member Functions inherited from base_metric
static id_t create_id (const id_t lane, const id_t tile, const id_t=0)
 
static id_t lane_from_id (const id_t id)
 
static id_t tile_hash_from_id (const id_t id)
 
static id_t tile_from_id (const id_t id)
 
static const char * suffix ()
 
- Static Public Member Functions inherited from empty_metric
static const char * suffix ()
 
static id_t create_id (const id_t, const id_t, const id_t=0)
 

Friends

template<class MetricType , int Version>
struct io::generic_layout
 

Detailed Description

Extraction metric

The extraction metrics include the max intensity and the focus score for each color channel.

Note
Supported versions: 2 and 3
Test:

Confirm version 2 of the metric can be written to and read from a stream

Confirm version 2 of the metric matches known binary file

Member Typedef Documentation

typedef std::vector<float> float_array_t

Define a float array using an underlying vector

typedef float* float_pointer_t

Define a float pointer to a float array

Extraction metric header

typedef std::vector<ushort_t> ushort_array_t

Define a uint16_t array using an underlying vector

typedef ::uint16_t* ushort_pointer_t

Define a uint16_t pointer to a uint16_t array

Member Enumeration Documentation

anonymous enum
Enumerator
MAX_CHANNELS 

Maximum number of channels

TYPE 

Unique type code for metric

LATEST_VERSION 

Latest version of the InterOp format

Constructor & Destructor Documentation

extraction_metric ( )
inline

Constructor

extraction_metric ( const header_type header)
inline

Constructor

Parameters
headerextraction metric header
extraction_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const ulong_t  date_time,
const ushort_array_t intensities_p90,
const float_array_t focus_scores 
)
inline

Constructor

Note
Version 2
Parameters
lanelane number
tiletile number
cyclecycle number
date_timetime extraction was completed
intensities_p9090th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
extraction_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const ulong_t  date_time,
const ushort_pointer_t  intensities_p90,
const float_pointer_t  focus_scores,
const uint_t  channel_count = MAX_CHANNELS 
)
inline

Constructor

Note
Version 2
Parameters
lanelane number
tiletile number
cyclecycle number
date_timetime extraction was completed
intensities_p9090th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
channel_countnumber of channels
extraction_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const util::csharp_date_time  date_time,
const ushort_array_t intensities_p90,
const float_array_t focus_scores 
)
inline

Constructor

Note
Version 2
Parameters
lanelane number
tiletile number
cyclecycle number
date_timetime extraction was completed
intensities_p9090th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
extraction_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const util::csharp_date_time  date_time,
const ushort_pointer_t  intensities_p90,
const float_pointer_t  focus_scores,
const uint_t  channel_count = MAX_CHANNELS 
)
inline

Constructor

Note
Version 2
Parameters
lanelane number
tiletile number
cyclecycle number
date_timetime extraction was completed
intensities_p9090th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
channel_countnumber of channels
extraction_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const ushort_array_t max_intensity_values,
const float_array_t focus_scores 
)
inline

Constructor

Note
Version 3
Parameters
lanelane number
tiletile number
cyclecycle number
max_intensity_values90th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
extraction_metric ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const ::uint16_t *  intensity_values,
const size_t  intensity_count,
const float *  focus_scores,
const size_t  focus_count,
const size_t   
)
inline

Constructor

Note
Version 3
Parameters
lanelane number
tiletile number
cyclecycle number
intensity_values90th percentile of intensities for the given channel
intensity_countnumber of channels
focus_scoresfocus score for the given channel
focus_countnumber of channels

Member Function Documentation

void date_time ( const ulong_t  time)
inline

Set the current extraction time

Parameters
timecurrent time
ulong_t dateTime ( ) const
inline

Date time extraction completed

Deprecated:
Will be removed in 1.1.x (use date_time instead)
Returns
date time code
float focusScore ( size_t  channel) const
inline

Median Full Width Half Max (FWHM) Focus Metric

Deprecated:
Will be removed in 1.1.x (use focus_score instead)
Parameters
channelchannel index
Returns
focus metric as measured by FWHM
const float_array_t& focusScores ( ) const
inline

Get an array of focus scores

These values are estimated using full width half max (FWHM).

Deprecated:
Will be removed in 1.1.x (use focus_scores instead)
Returns
vector of focus scores
bool is_any_p90_zero ( ) const
inline

Determine if any channel's P90 value is 0

Returns
true if any channel's P90 value is 0
static const char* prefix ( )
inlinestatic

Get the prefix of the InterOp filename

Returns
prefix
void set ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const ulong_t  date_time,
const ushort_array_t max_intensity_values,
const float_array_t focus_scores 
)
inline

Setter

Note
Version 2
Parameters
lanelane number
tiletile number
cyclecycle number
date_timetime extraction was completed
max_intensity_values90th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
void set ( const uint_t  lane,
const uint_t  tile,
const uint_t  cycle,
const ushort_array_t max_intensity_values,
const float_array_t focus_scores 
)
inline

Setter

Note
Version 3
Parameters
lanelane number
tiletile number
cyclecycle number
max_intensity_values90th percentile of intensities for the given channel
focus_scoresfocus score for the given channel
void trim ( const size_t  channel_count)
inline

Trim unused channel values

Parameters
channel_countactual number of channels

Friends And Related Function Documentation

friend struct io::generic_layout
friend

The documentation for this class was generated from the following file: