Loading...
Searching...
No Matches
casacore::MSTileLayout Class Reference
ms package (libcasa_ms) » MeasurementSets_module

More...

`#include <MSTileLayout.h>`

## Public Types

enum | ObsType { Standard , FastMosaic }

## Static Public Member Functions

static IPosition | tileShape (const IPosition &dataShape, Int observationType=Standard, Int nIfr=0, Int nInt=1)
| Suggest tile shape based on the data shape, the observing mode, the number of interferometers and the number of integrations per pointing.
static IPosition | tileShape (const IPosition &dataShape, Int observationType, const String &array)
| same as above, but pick standard nIfr (number of interferometers) for named array and default nInt.

## Detailed Description

An helper class for deciding on tile shapes in MeasurementSets

### Intended use:

Public interface

### Prerequisite

- MeasurementSet
- TiledStMan

### Etymology

MSTileLayout stands for the MeasurementSet tile layout chooser

### Synopsis

MSTileLayout is a class to determine an appropriate tile shape choice for the MeasurementSet DATA columns, based on the shape of the DATA, the observing mode and the number of interferometers

### Example

// The following code returns the tile shape given the DATA shape,
// the observing type and the array name.
IPosition dataShape(2,4,1024); // 4 polarizations, 1024 channels
IPosition tileShape = MSTileLayout::tileShape(dataShape,
MSTileLayout::FastMosaic,
"ATCA");
cout << "tileShape = "<< tileShape << endl;
// Output is:
tileShape = (4,11,15)
casacore::IPosition
Definition IPosition.h:117
casacore::MSTileLayout::tileShape
static IPosition tileShape(const IPosition &dataShape, Int observationType=Standard, Int nIfr=0, Int nInt=1)
Suggest tile shape based on the data shape, the observing mode, the number of interferometers and the...
casacore::MSTileLayout::FastMosaic
@ FastMosaic
Fast Mosaic, specify this if you have many (>30) fields and you spend only a few integrations per poi...
Definition MSTileLayout.h:89

### Motivation

This class is intended to replace bits of code scattered throughout various fillers and collect all tiling decisions in one place.

Definition at line 80 of file MSTileLayout.h.

## Member Enumeration Documentation

## ObsType

enum casacore::MSTileLayout::ObsType

Enumerator
Standard | Standard, optimizes i/o by using large tiles (128 kB).
FastMosaic | Fast Mosaic, specify this if you have many (>30) fields and you spend only a few integrations per pointing before moving on. Avoids useless i/o caching by using small tiles

Definition at line 83 of file MSTileLayout.h.

## Member Function Documentation

## tileShape() [1/2]

IPosition casacore::MSTileLayout::tileShape | ( | const IPosition & | dataShape,
|  | Int | observationType,
|  | const String & | array )

static

same as above, but pick standard nIfr (number of interferometers) for named array and default nInt.

References casacore::array.

## tileShape() [2/2]

IPosition casacore::MSTileLayout::tileShape | ( | const IPosition & | dataShape,
|  | Int | observationType = Standard,
|  | Int | nIfr = 0,
|  | Int | nInt = 1 )

static

Suggest tile shape based on the data shape, the observing mode, the number of interferometers and the number of integrations per pointing.

First argument should be a 2-dimensional IPosition with the data matrix shape. The second argument is one of the enums above specifying the type of observation. The third argument is an estimate of the number of interferometers present throughout most of the data. The last argument is an estimate of the number of integrations per pointing.

The last three arguments only need to be specified if the observing mode is non Standard. Basically the choice is between large tiles for efficient I/O and small tiles when a common access pattern (field_id order) would result in very inefficient caching. The latter occurs for large tiles if the field_id changes rapidly AND there are many fields AND the data matrix is small (e.g., continuum mosaic of a large area with only one or two integrations per pointing). Note that accessing fast mosaic data with large tiles in field_id order can be 10-100 times slower than sequential access.

References Standard.

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

- ms/MeasurementSets/MSTileLayout.h