| Bsoft 2.0.5 Bernard's software package

marker.h
Go to the documentation of this file.
1
9 #include "rwmodel.h"
10 #include "Transform.h"
11
12 #ifndef _MarkerLinker_
13 #define _MarkerLinker_
14 /************************************************************************
15 @Object: struct Bmarker
16 @Description:
17 Structure for a feature marker.
18 @Features:
19 3D coordinates for the center of the marker.
20 *************************************************************************/
21 struct Bmarker {
22 Bmarker* next; // Next marker in list
23 int id; // Marker identifier
24 int img_num; // Marker image number
25 Vector3<float> loc; // Coordinates in the micrograph or tomogram
26 Vector3<float> err; // Error in coordinates
27 float res; // Residual
28 float fom; // FOM for marker
29 int sel; // Selection flag
30 } ;
31
32 #endif
33
34 // Function prototypes
35 long marker_stats(Bmarker* markers);
36 Bmarker* markers_copy(Bmarker* mark);
37 Bmarker* markers_copy_selected(Bmarker* mark);
38 long markers_add(Bmarker** mark, Bmarker* mark2, double mindist, int sel);
39 long markers_delete_non_selected(Bmarker** mark);
40 int marker_shift(Bmarker* markers, Vector3<double> shift);
41 int marker_scale(Bmarker* markers, Vector3<double> scale);
42 int marker_transform(Bmarker* markers, Transform t);
43 double marker_compare(Bmarker* mark1, Bmarker* mark2);
44 Matrix3 marker_find_matrix(Bmarker* markers1, Bmarker* markers2,
45 Vector3<double> origin1, Vector3<double> origin2);
46 Transform marker_find_transform(Bmarker* markers1, Bmarker* markers2, Vector3<double> origin);
47 Transform markers_find_rottrans(Bmarker* set1, Bmarker* set2, double tolerance);
48 Transform* markers_map_and_find_transform(Bmarker** set, int nseries, int refset, Vector3<long> size);
49 long markers_limit(int target_num, int sign, Bmarker** set);
50 Bmodel* model_from_markers(Bmarker* markers, Vector3<double> origin, Vector3<double> sam);
51 int marker_plane(Bmarker* markers, Vector3<double> origin);
52 Bmarker* markers_sort_by_id(Bmarker** mark);
53 long markers_renumber(Bmarker* mark);
54 long markers_center(Bmarker* mark, Vector3<double> center);
55 Bmarker* marker_set_at_radius(double rad, double ainc);
56 int marker_sets_to_bild(Bstring& filename, Bmarker* mark1, Bmarker* mark2);
57
marker_find_transform
Transform marker_find_transform(Bmarker *markers1, Bmarker *markers2, Vector3< double > origin)
Determines the rotation matrix between two sets of markers.
Definition: marker.cpp:346
markers_delete_non_selected
long markers_delete_non_selected(Bmarker **mark)
Deletes markers not selected.
Definition: marker.cpp:159
markers_sort_by_id
Bmarker * markers_sort_by_id(Bmarker **mark)
Sorts a set of markers by ID number.
Definition: marker.cpp:1104
markers_copy_selected
Bmarker * markers_copy_selected(Bmarker *mark)
Copies a set of markers based on selection.
Definition: marker.cpp:102
Bmarker
Definition: marker.h:21
marker_transform
int marker_transform(Bmarker *markers, Transform t)
Transforming markers.
Definition: marker.cpp:226
Matrix3
Definition: Matrix3.h:17
Transform.h
Class for a generalized transform object.
marker_compare
double marker_compare(Bmarker *mark1, Bmarker *mark2)
Compare marker sets and calculates the root-mean-square deviation.
Definition: marker.cpp:248
markers_center
long markers_center(Bmarker *mark, Vector3< double > center)
Centers a set of markers.
Definition: marker.cpp:1176
markers_renumber
long markers_renumber(Bmarker *mark)
Renumbers a set of markers.
Definition: marker.cpp:1150
Transform
Definition: Transform.h:24
markers_find_rottrans
Transform markers_find_rottrans(Bmarker *set1, Bmarker *set2, double tolerance)
Finds the rotation and shift between two sets of vectors.
Definition: marker.cpp:416
markers_limit
long markers_limit(int target_num, int sign, Bmarker **set)
This method constricts a marker set to target_num points.
Definition: marker.cpp:909
Bmarker::fom
float fom
Definition: marker.h:28
Bmarker::id
int id
Definition: marker.h:23
Bmarker::next
Bmarker * next
Definition: marker.h:22
Bstring
Definition: Bstring.h:29
marker_stats
long marker_stats(Bmarker *markers)
Calculating marker statistics.
Definition: marker.cpp:34
Bmarker::img_num
int img_num
Definition: marker.h:24
markers_copy
Bmarker * markers_copy(Bmarker *mark)
Copies a set of markers.
Definition: marker.cpp:92
rwmodel.h
Header file for reading and writing atomic model files.
model_from_markers
Bmodel * model_from_markers(Bmarker *markers, Vector3< double > origin, Vector3< double > sam)
Convert markers to a model.
Definition: marker.cpp:1002
Vector3< float >
marker_find_matrix
Matrix3 marker_find_matrix(Bmarker *markers1, Bmarker *markers2, Vector3< double > origin1, Vector3< double > origin2)
Determines the rotation matrix between two sets of markers.
Definition: marker.cpp:279
Bmarker::err
Vector3< float > err
Definition: marker.h:26
Bmarker::loc
Vector3< float > loc
Definition: marker.h:25
marker_plane
int marker_plane(Bmarker *markers, Vector3< double > origin)
Fits a plane to a set of markers.
Definition: marker.cpp:1042
Bmodel
Definition: rwmodel.h:119
marker_set_at_radius
Bmarker * marker_set_at_radius(double rad, double ainc)
Generates a marker set at a given radius with z=0.
Definition: marker.cpp:1208
marker_sets_to_bild
int marker_sets_to_bild(Bstring &filename, Bmarker *mark1, Bmarker *mark2)
Generates a bild file with the two marker sets.
Definition: marker.cpp:1237
markers_add
long markers_add(Bmarker **mark, Bmarker *mark2, double mindist, int sel)
Adds a set of markers to another.
Definition: marker.cpp:120
Bmarker::res
float res
Definition: marker.h:27
Bmarker::sel
int sel
Definition: marker.h:29
markers_map_and_find_transform
Transform * markers_map_and_find_transform(Bmarker **set, int nseries, int refset, Vector3< long > size)
This function finds the transform parameters between sets of coordinates. These sets are expected to ...
Definition: marker.cpp:585
marker_scale
int marker_scale(Bmarker *markers, Vector3< double > scale)
Scaling markers.
Definition: marker.cpp:208
marker_shift
int marker_shift(Bmarker *markers, Vector3< double > shift)
Shifting markers.
Definition: marker.cpp:192