Differences between revisions 9 and 11 (spanning 2 versions)
Revision 9 as of 2008-10-02 19:54:40
Size: 5465
Editor: SteveLudtke
Comment:
Revision 11 as of 2008-10-02 19:59:16
Size: 5596
Editor: SteveLudtke
Comment:
Deletions are marked like this. Additions are marked like this.
Line 39: Line 39:
||apix_scan||float||Scan pixel size in Angstroms||(there are already parameters for apix_x/y/z above. Is this different in some way ?)
||box_location||intarray||4 values, x0, y0, xsize, ysize representing the location of the particle in the original (box_source) image (Pawel suggested this be changed to the reduced image, because normally we first reduce the micrograph, the window it.) (No, the box location should be in the coordinates of the referenced 'parent' image. If you want to reference a reduced image you can, but I think it makes a lot more sense to provide the capability of refining the coordinates from the reduced image when you return to the original image.)||
||apix_scan||float||Scan pixel size in Angstroms||(there are already parameters for apix_x/y/z above. Is this different in some way ?, you could provide this as supplementary information, but apix_x/y/z remain the 'official' values. Is this what you want ?)||
||box_location||intarray||4 values, x0, y0, xsize, ysize representing the location of the particle in the original (box_source) image|| (Pawel suggested this be changed to the reduced image, because normally we first reduce the micrograph, the window it.) (No, the box location should be in the coordinates of the referenced 'parent' image. If you want to reference a reduced image you can, but I think it makes a lot more sense to provide the capability of refining the coordinates from the reduced image when you return to the original image.)||
Line 44: Line 44:
||microscope_voltage||float||Microscope voltage in kV (shall we change it to just '''voltage''' to be same as sparx, what else voltage it could be?) (we are trying to define metadata dictionaries which will conflict minimally with other dictionaries. If all of the microscope parameters are prefixed by microscope_ it helps identify their source.)||
||microscope_cs||float||Cs of microscope in mm (same thing, change to '''cs'''? or '''Cs'''?) (Parameter names are case-insensitive. Same argument for using 'microscope_')||
||microscope_voltage||float||Microscope voltage in kV ||(shall we change it to just '''voltage''' to be same as sparx, what else voltage it could be?) (we are trying to define metadata dictionaries which will conflict minimally with other dictionaries. If all of the microscope parameters are prefixed by microscope_ it helps identify their source.)||
||microscope_cs||float||Cs of microscope in mm|| (same thing, change to '''cs'''? or '''Cs'''?) (Parameter names are case-insensitive. Same argument for using 'microscope_')||

Parameters/Metadata stored in EMData Objects

The EMData object, and its representation on disk in the BDB local database, XML files, and when serialized in Python using 'pickle', supports the concept of arbitrary header parameters also known as metadata. This metadata are key/value pairs. The keys are always simple ascii text, and the values may be virtually anything represented as an EMObject, including simple ints, floats and strings, as well as more complicated objects such as Transform classes. If an EMData object is stored in some fashion other than the 3 mechanisms above, some loss of metadata is almost guaranteed. The file i/o objects will try to preserve some of the basic metadata, but most of the cryoEM formats simply don't support arbitrary header-data. The EMAN2 convention is to use BDB for most internal purposes, and to use HDF5 for data transfer/exchange.

This page will serve as a repository for the officially supported parameter key/value pairs. While you are free to set any metadata keys/values you like in an EMData object, the names listed here may be interpreted in specific ways by specific modules within EMAN, so it would be unwise to abuse them. Also, if you make up your own name for some purpose, it wouldn't hurt to register it here in the 'unofficial' section, to avoid it being used by someone else for a different purpose.

Special tags (read-only for getting image info)

These values are cached and only recomputed if the image changes

nx,ny,nz

int

Dimensions of the image, also available as get_xsize(),etc.

minimum

float

Smallest value in the image

maximum

float

Largest value in the image

mean

float

The average pixel value in the image

sigma

float

The standard deviation of the pixel values in the image

square_sum

float

Sum of the squares of the pixel values

mean_nonzero

float

The mean value of all nonzero pixels

sigma_nonzero

float

The standard deviation of the pixels ignoring pixels which are zero

is_complex

int

Flag indicating that the image is complex (R/I or A/P pairs)

is_complex_ri

int

Flag indicating that a complex image is R/I not A/P

changecount

int

An integer which is incremented every time the image is marked as changed

These values are computed on the fly

skewness

float

Skewness of the pixel values

kurtosis

float

Kurtosis of the pixel values

median

float

Median value of the pixel values

nonzero_median

float

Median value of nonzero pixels

Official tags (used in EMAN2/SPARX as distributed):

apix_x,y,z

float

Angstroms per pixel on the x-axis (also _y and _z)

xform.projection

Transform

A Transform object used by Projectors. It is applied to a 3-D model prior to projecting by summing along Z. The inverse of this Transform is used by Reconstructors

xform.align2d

Transform

A Transform object representing a 2-D transformation used to align this EMData object to a reference in 2-D

xform.align3d

Transform

A Transform object representing a 3-D transformation used to align this (3-D) EMData object to a (3-D) reference

ptcl_repr

int(float?)

If an image represents the average of one or more other images, this is the count of the number of particles that went into the average

class_id

int

Set by classification routines to indicate which class number the particle is in

eigval

float

Eigenvalue, only set for images which represent Eigenvectors

render_min,max

float

Used when rendering an image to 8/16 bit integers. These are the values representing the minimum and maximum integer values

Proposed new Official tags (comments welcome):

apix_scan

float

Scan pixel size in Angstroms

(there are already parameters for apix_x/y/z above. Is this different in some way ?, you could provide this as supplementary information, but apix_x/y/z remain the 'official' values. Is this what you want ?)

box_location

intarray

4 values, x0, y0, xsize, ysize representing the location of the particle in the original (box_source) image

(Pawel suggested this be changed to the reduced image, because normally we first reduce the micrograph, the window it.) (No, the box location should be in the coordinates of the referenced 'parent' image. If you want to reference a reduced image you can, but I think it makes a lot more sense to provide the capability of refining the coordinates from the reduced image when you return to the original image.)

box_score

float

A value representing the relative quality (meaning may vary) of this particle compared to others

box_source

string

Filename (not full path) of the image this particle was extracted from

box_source_id

string

Other (database) identifier of the image the raw data came from if available

microscope_voltage

float

Microscope voltage in kV

(shall we change it to just voltage to be same as sparx, what else voltage it could be?) (we are trying to define metadata dictionaries which will conflict minimally with other dictionaries. If all of the microscope parameters are prefixed by microscope_ it helps identify their source.)

microscope_cs

float

Cs of microscope in mm

(same thing, change to cs? or Cs?) (Parameter names are case-insensitive. Same argument for using 'microscope_')

ctf_defocus

float

Defocus in microns, underfocus positive

Unofficial tags (To prevent reuse, used by someone in their own code or for testing):

EMAN2/Eman2Metadata (last edited 2022-08-07 02:33:53 by SteveLudtke)