home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.36b5e40f34,2024/10/14
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
em
version 20241014.develop.36b5e40f34
SpiderHeader.h
Go to the documentation of this file.
1
/**
2
* \file IMP/em/SpiderHeader.h
3
* \brief Header for Spider and Xmipp formats
4
*
5
* Copyright 2007-2022 IMP Inventors. All rights reserved.
6
*/
7
8
#ifndef IMPEM_SPIDER_HEADER_H
9
#define IMPEM_SPIDER_HEADER_H
10
11
#include <ostream>
12
#include <IMP/em/em_config.h>
13
14
IMPEM_BEGIN_NAMESPACE
15
16
//! Header for Spider images. IMP-EM is designed to be compatible with it
17
struct
SpiderHeader
{
18
//! Number of slices (=1 for images)
19
float
fNslice
;
20
//! Number of rows
21
float
fNrow
;
22
//! Total number of records
23
float
fNrec
;
24
//! Auxiliary number used to compute the number of records
25
float
fNlabel
;
26
//! FILE TYPE SPECIFIER.
27
/**
28
* +3 FOR A 3-D FILE (FLOAT)
29
* +1 FOR A 2-D IMAGE (FLOAT)
30
* -1 FOR A 2-D FOURIER TRANSFORM
31
* -3 FOR A 3-D FOURIER TRANSFORM
32
* -5 FOR A NEW 2-D FOURIER TRANSFORM
33
* -7 FOR A NEW 3-D FOURIER TRANSFORM
34
* +8 FOR A 2-D EIGHT BIT IMAGE FILE
35
* +9 FOR A 2-D INT IMAGE FILE
36
* 10 FOR A 3-D INT IMAGE FILE
37
* 11 FOR A 2-D EIGHT BIT COLOR IMAGE FILE
38
**/
39
float
fIform
;
40
//! MAXIMUM/MINIMUM FLAG.
41
/** IS SET AT 0 WHEN THE FILE IS CREATED, AND AT 1 WHEN THE MAXIMUM AND
42
* MINIMUM HAVE BEEN COMPUTED, AND HAVE BEEN STORED
43
* INTO THIS LABEL RECORD (SEE FOLLOWING WORDS)
44
*/
45
float
fImami
;
46
//! maximum value in the image
47
float
fFmax
;
48
//! minimum value in the image
49
float
fFmin
;
50
//! average value
51
float
fAv
;
52
//! Standard deviation. If -1 it means that it has no been computed
53
float
fSig
;
54
//! FLAG INDICATING IF THE HISTOGRAM HAS BE COMPUTED. NOT USED IN 3D FILES!
55
float
fIhist
;
// It is obsolete in Spider
56
//! Number of columns
57
float
fNcol
;
58
//! number of records in file header (label)
59
float
fLabrec
;
60
//! flag that tilt angles are present.
61
float
fIangle
;
62
//! 1st Euler rotation angle (Rot) (ZYZ convention)
63
float
fPhi
;
64
//! 2nd Euler rotation angle (Tilt) (ZYZ convention)
65
float
fTheta
;
66
//! 3rd Euler rotation angle (Psi) (ZYZ convention)
67
float
fPsi
;
68
//! X TRANSLATION
69
float
fXoff
;
70
//! Y TRANSLATION
71
float
fYoff
;
72
//! Z TRANSLATION
73
float
fZoff
;
74
//! SCALE
75
float
fScale
;
76
//! Total number of bytes in the header
77
float
fLabbyt
;
78
//! RECORD LENGTH IN BYTES
79
float
fLenbyt
;
80
//! this is a Spider incongruence. 24 bytes without meaning
81
char
fNothing[24];
82
//! THAT ANGLES ARE SET.
83
/**
84
* 1 = ONE ADDITIONAL
85
* ROTATION IS PRESENT, 2 = ADDITIONAL ROTATION
86
* THAT PRECEDES THE ROTATION THAT WAS STORED IN
87
* 15 FOR DETAILS SEE MANUAL CHAPTER VOCEUL.MAN
88
*/
89
float
fFlag
;
90
float
fPhi1;
91
float
fTheta1;
92
float
fPsi1;
93
float
fPhi2;
94
float
fTheta2;
95
float
fPsi2;
96
double
fGeo_matrix[3][3];
//! x9 = 72 bytes: Geometric info
97
float
fAngle1
;
//! angle info
98
float
fr1
;
99
float
fr2;
//! lift up cosine mask parameters
100
//! For Radon transforms
101
float
RTflag
;
//! 1=RT, 2=FFT(RT)
102
float
Astart
;
103
float
Aend;
104
float
Ainc;
105
float
Rsigma;
//! 4*7 = 28 bytes
106
float
Tstart
;
107
float
Tend;
108
float
Tinc;
//! 4*3 = 12, 12+28 = 40B
109
//! For Max-Likelihood refinement (Xmipp compatibility)
110
float
Weight
;
111
//! 0= no flipping , 1= flipping (Xmipp compatibility)
112
float
Flip
;
113
//! Empty field in the SPIDER header format.
114
/**
115
* Originally is 700 bytes long, but additional information has been added:
116
* empty 700-76-40=624-40-8= 576 bytes
117
*/
118
char
empty[576];
119
//! date
120
char
szIDat[12];
121
//! time of creation
122
char
szITim[8];
123
//! Title
124
char
szITit[160];
125
126
void
show
(std::ostream& out)
const
{ out <<
"SpiderHeader"
; }
127
};
128
129
IMPEM_END_NAMESPACE
130
131
#endif
/* IMPEM_SPIDER_HEADER_H */
IMP::em::SpiderHeader::Flip
float Flip
0= no flipping , 1= flipping (Xmipp compatibility)
Definition:
SpiderHeader.h:112
IMP::em::SpiderHeader::fPsi
float fPsi
3rd Euler rotation angle (Psi) (ZYZ convention)
Definition:
SpiderHeader.h:67
IMP::em::SpiderHeader
Header for Spider images. IMP-EM is designed to be compatible with it.
Definition:
SpiderHeader.h:17
IMP::em::SpiderHeader::fYoff
float fYoff
Y TRANSLATION.
Definition:
SpiderHeader.h:71
IMP::em::SpiderHeader::fFlag
float fFlag
THAT ANGLES ARE SET.
Definition:
SpiderHeader.h:89
IMP::em::SpiderHeader::Weight
float Weight
For Max-Likelihood refinement (Xmipp compatibility)
Definition:
SpiderHeader.h:110
IMP::em::SpiderHeader::fNlabel
float fNlabel
Auxiliary number used to compute the number of records.
Definition:
SpiderHeader.h:25
IMP::em::SpiderHeader::fFmin
float fFmin
minimum value in the image
Definition:
SpiderHeader.h:49
IMP::em::SpiderHeader::fLabrec
float fLabrec
number of records in file header (label)
Definition:
SpiderHeader.h:59
IMP::em::SpiderHeader::fNslice
float fNslice
Number of slices (=1 for images)
Definition:
SpiderHeader.h:19
IMP::em::SpiderHeader::fNcol
float fNcol
Number of columns.
Definition:
SpiderHeader.h:57
IMP::em::SpiderHeader::fIform
float fIform
FILE TYPE SPECIFIER.
Definition:
SpiderHeader.h:39
IMP::em::SpiderHeader::fNrec
float fNrec
Total number of records.
Definition:
SpiderHeader.h:23
IMP::em::SpiderHeader::fNrow
float fNrow
Number of rows.
Definition:
SpiderHeader.h:21
IMP::em::SpiderHeader::fTheta
float fTheta
2nd Euler rotation angle (Tilt) (ZYZ convention)
Definition:
SpiderHeader.h:65
IMP::em::SpiderHeader::fPhi
float fPhi
1st Euler rotation angle (Rot) (ZYZ convention)
Definition:
SpiderHeader.h:63
IMP::em::SpiderHeader::fZoff
float fZoff
Z TRANSLATION.
Definition:
SpiderHeader.h:73
IMP::em::SpiderHeader::fLabbyt
float fLabbyt
Total number of bytes in the header.
Definition:
SpiderHeader.h:77
IMP::em::SpiderHeader::fScale
float fScale
SCALE.
Definition:
SpiderHeader.h:75
IMP::em::SpiderHeader::fIangle
float fIangle
flag that tilt angles are present.
Definition:
SpiderHeader.h:61
IMP::em::SpiderHeader::fAv
float fAv
average value
Definition:
SpiderHeader.h:51
IMP::em::SpiderHeader::fLenbyt
float fLenbyt
RECORD LENGTH IN BYTES.
Definition:
SpiderHeader.h:79
IMP::em::SpiderHeader::fFmax
float fFmax
maximum value in the image
Definition:
SpiderHeader.h:47
IMP::core::show
std::ostream & show(Hierarchy h, std::ostream &out=std::cout)
Print the hierarchy using a given decorator to display each node.
Definition:
core/Hierarchy.h:423
IMP::em::SpiderHeader::fAngle1
float fAngle1
x9 = 72 bytes: Geometric info
Definition:
SpiderHeader.h:97
IMP::em::SpiderHeader::Astart
float Astart
1=RT, 2=FFT(RT)
Definition:
SpiderHeader.h:102
IMP::em::SpiderHeader::fr1
float fr1
angle info
Definition:
SpiderHeader.h:98
IMP::em::SpiderHeader::fIhist
float fIhist
FLAG INDICATING IF THE HISTOGRAM HAS BE COMPUTED. NOT USED IN 3D FILES!
Definition:
SpiderHeader.h:55
IMP::em::SpiderHeader::fXoff
float fXoff
X TRANSLATION.
Definition:
SpiderHeader.h:69
IMP::em::SpiderHeader::fImami
float fImami
MAXIMUM/MINIMUM FLAG.
Definition:
SpiderHeader.h:45
IMP::em::SpiderHeader::RTflag
float RTflag
For Radon transforms.
Definition:
SpiderHeader.h:101
IMP::em::SpiderHeader::Tstart
float Tstart
4*7 = 28 bytes
Definition:
SpiderHeader.h:106
IMP::em::SpiderHeader::fSig
float fSig
Standard deviation. If -1 it means that it has no been computed.
Definition:
SpiderHeader.h:53