7 #ifndef IMPEM2D_PROJECT_H
8 #define IMPEM2D_PROJECT_H
10 #include <IMP/em2d/em2d_config.h>
26 #include <cereal/access.hpp>
28 IMPEM2D_BEGIN_NAMESPACE
33 friend class cereal::access;
35 template<
class Archive>
void serialize(Archive &ar) {
36 ar(pixel_size, resolution);
40 double pixel_size, resolution;
50 : pixel_size(ps), resolution(res) {};
56 void show(std::ostream &out = std::cout)
const {
57 out <<
"ProjectingParameters " << pixel_size <<
" " << resolution
73 void init_defaults() {
76 clear_matrix_before_projecting =
true;
85 bool clear_matrix_before_projecting;
111 void show(std::ostream &out = std::cout)
const {
112 out <<
"ProjectingOptions " << pixel_size <<
" " << resolution << std::endl;
160 MasksManagerPtr masks = MasksManagerPtr(),
178 MasksManagerPtr masks);
218 const ParticlesTemp &ps,
double pixel_size,
unsigned int slack);
220 IMPEM2D_END_NAMESPACE
Images create_evenly_distributed_projections(const ParticlesTemp &ps, unsigned int n, const ProjectingOptions &options)
projection masks Copyright 2007-2023 IMP Inventors. All rights reserved.
IMP::Vector< String > Strings
Standard way to pass a bunch of String values.
Include all non-deprecated headers in IMP.
Virtual class for reader/writers of images.
void do_project_particles(const ParticlesTemp &ps, cv::Mat &m2, const algebra::Rotation3D &R, const algebra::Vector3D &translation, const ProjectingOptions &options, MasksManagerPtr masks)
Projects a set of particles. This is the core function that others call.
Virtual class for reader/writers of images Copyright 2007-2022 IMP Inventors. All rights reserved...
Parameters given as options to the get_projections() functions.
Interface with OpenCV Copyright 2007-2022 IMP Inventors. All rights reserved.
ProjectingOptions(double ps, double res)
A more IMP-like version of the std::vector.
IMP images for Electron Microscopy using openCV matrices Copyright 2007-2022 IMP Inventors. All rights reserved.
A smart pointer to a reference counted object.
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
ProjectingParameters(double ps, double res)
Stores and converts spherical coordinates.
algebra::Vector2Ds do_project_vectors(const algebra::Vector3Ds &ps, const algebra::Rotation3D &R, const algebra::Vector3D &translation, const algebra::Vector3D ¢er)
Project the points contained in Vector3Ds.
void save_images(Images images, const Strings &names, const ImageReaderWriter *rw)
Simple 3D rotation class.
Parameters needed for the core projection routine.
unsigned int get_enclosing_image_size(const ParticlesTemp &ps, double pixel_size, unsigned int slack)
Get an automatic size for an image that contains the particles.
A nullptr-initialized pointer to an IMP Object.
Class to manage registration results.
void show(std::ostream &out=std::cout) const
void show(std::ostream &out=std::cout) const
em2d::Images get_projections(const ParticlesTemp &ps, const RegistrationResults ®istration_values, int rows, int cols, const ProjectingOptions &options, Strings names=Strings())
Generates projections from particles.
Operations involving FFT Copyright 2007-2022 IMP Inventors. All rights reserved.
Registration results class Copyright 2007-2022 IMP Inventors. All rights reserved.
Decorator for a sphere-like particle.
std::string String
Basic string value.
2D Electron Microscopy images in IMP
void get_projection(em2d::Image *img, const ParticlesTemp &ps, const RegistrationResult ®, const ProjectingOptions &options, MasksManagerPtr masks=MasksManagerPtr(), String name="")
Generates a projection from particles.