matthiashar / CtCalib

Research project to analyze and calibrate the geometry of computed tomography systems using projections of a calibration phantom with unknown coordinats.
MIT License
3 stars 2 forks source link

make got error #3

Open hyaihjq opened 1 month ago

hyaihjq commented 1 month ago

/home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'cv::Size2i getImageSizePixel()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:55: error: 'm_image_size_px' was not declared in this scope 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'cv::Size2i getImageSizePixel()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:55: error: 'm_image_size_px' was not declared in this scope 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImagePath()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:45:51: error: 'm_image_path' was not declared in this scope 45 | std::string getImagePath() const { return m_image_path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:36: error: non-member function 'std::string getImageName()' cannot have cv-qualifier 46 | std::string getImageName() const { return m_image_name; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImageName()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:51: error: 'm_image_name' was not declared in this scope 46 | std::string getImageName() const { return m_image_name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:40: error: non-member function 'cv::Size2i getImageSizePixel()' cannot have cv-qualifier 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImagePath(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:49:47: error: 'm_image_path' was not declared in this scope 49 | void setImagePath(std::string path) { m_image_path = path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImagePath(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:49:47: error: 'm_image_path' was not declared in this scope 49 | void setImagePath(std::string path) { m_image_path = path; } | ^~~~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryModel.h:10, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryRTK.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.h:11, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:19:25: error: expected identifier before 'default' 19 | default = 0, | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:19:25: error: expected '}' before 'default' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:18:17: note: to match this '{' 18 | { | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:19:25: error: expected unqualified-id before 'default' 19 | default = 0, | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImageName()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:51: error: 'm_image_name' was not declared in this scope 46 | std::string getImageName() const { return m_image_name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:40: error: non-member function 'cv::Size2i getImageSizePixel()' cannot have cv-qualifier 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'cv::Size2i getImageSizePixel()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:55: error: 'm_image_size_px' was not declared in this scope 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:30:17: error: 'TYP' does not name a type 30 | TYP point_typ; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:31:29: error: expected unqualified-id before 'double' 31 | Observation(double x, double y, double a, double b, double angle, int id = -1) : | ^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:31:29: error: expected ')' before 'double' 31 | Observation(double x, double y, double a, double b, double angle, int id = -1) : | ~^~ | ) /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:38:71: error: expected constructor, destructor, or type conversion before ';' token 38 | Projection(int gantry_index = -1, std::string image_name = ""); | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:39:22: error: expected constructor, destructor, or type conversion before ';' token 39 | ~Projection(); | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:45:36: error: non-member function 'std::string getImagePath()' cannot have cv-qualifier 45 | std::string getImagePath() const { return m_image_path; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImagePath(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:49:47: error: 'm_image_path' was not declared in this scope 49 | void setImagePath(std::string path) { m_image_path = path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'cv::Size2i getImageSizePixel()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:55: error: 'm_image_size_px' was not declared in this scope 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImagePath()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:45:51: error: 'm_image_path' was not declared in this scope 45 | std::string getImagePath() const { return m_image_path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:36: error: non-member function 'std::string getImageName()' cannot have cv-qualifier 46 | std::string getImageName() const { return m_image_name; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImagePath(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:49:47: error: 'm_image_path' was not declared in this scope 49 | void setImagePath(std::string path) { m_image_path = path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImageName()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:51: error: 'm_image_name' was not declared in this scope 46 | std::string getImageName() const { return m_image_name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:40: error: non-member function 'cv::Size2i getImageSizePixel()' cannot have cv-qualifier 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'cv::Size2i getImageSizePixel()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:55: error: 'm_image_size_px' was not declared in this scope 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImagePath(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:49:47: error: 'm_image_path' was not declared in this scope 49 | void setImagePath(std::string path) { m_image_path = path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryModel.h:10, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryRTK.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.h:11, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/example.cpp:10: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:19:25: error: expected identifier before 'default' 19 | default = 0, | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:19:25: error: expected '}' before 'default' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:18:17: note: to match this '{' 18 | { | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:19:25: error: expected unqualified-id before 'default' 19 | default = 0, | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:30:17: error: 'TYP' does not name a type 30 | TYP point_typ; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:31:29: error: expected unqualified-id before 'double' 31 | Observation(double x, double y, double a, double b, double angle, int id = -1) : | ^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:31:29: error: expected ')' before 'double' 31 | Observation(double x, double y, double a, double b, double angle, int id = -1) : | ~^~ | ) /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:38:71: error: expected constructor, destructor, or type conversion before ';' token 38 | Projection(int gantry_index = -1, std::string image_name = ""); | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:39:22: error: expected constructor, destructor, or type conversion before ';' token 39 | ~Projection(); | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:45:36: error: non-member function 'std::string getImagePath()' cannot have cv-qualifier 45 | std::string getImagePath() const { return m_image_path; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImagePath()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:45:51: error: 'm_image_path' was not declared in this scope 45 | std::string getImagePath() const { return m_image_path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:36: error: non-member function 'std::string getImageName()' cannot have cv-qualifier 46 | std::string getImageName() const { return m_image_name; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp: In member function 'bool Calibration::runCalibration(ProjectionData&, GeometryModel&, std::map<int, std::vector >&, bool)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:19:38: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 19 | for (auto& mp : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'std::string getImageName()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:46:51: error: 'm_image_name' was not declared in this scope 46 | std::string getImageName() const { return m_image_name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:40: error: non-member function 'cv::Size2i getImageSizePixel()' cannot have cv-qualifier 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:34:38: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 34 | for (auto& mp : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:41:75: error: expected unqualified-id before 'default' 41 | if (mp.point_typ != Projection::Observation::TYP::default) { | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:41:55: error: expected ')' before 'default' 41 | if (mp.point_typ != Projection::Observation::TYP::default) { | ~ ^ ~~~ | ) /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:58:103: error: 'class Projection' has no member named 'gantry_index' 58 | auto resId = model.addResidualBlock(problem, loss, object_points[mp.id], proj.gantry_index, obs.x, obs.y); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:63:53: error: 'class Projection' has no member named 'gantry_index' 63 | if (problem.HasParameterBlock(&proj.gantry_index)) { | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:64:65: error: 'class Projection' has no member named 'gantry_index' 64 | problem.SetParameterBlockConstant(&proj.gantry_index); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'cv::Size2i getImageSizePixel()': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:47:55: error: 'm_image_size_px' was not declared in this scope 47 | cv::Size2i getImageSizePixel() const { return m_image_size_px; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImagePath(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:49:47: error: 'm_image_path' was not declared in this scope 49 | void setImagePath(std::string path) { m_image_path = path; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:107:36: error: 'struct Projection::Observation' has no member named 'residual_pixel' 107 | res.first->residual_pixel = cv::Point2d( | ^~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:119:41: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 119 | for (auto& point : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:131:22: error: 'class Projection' has no member named 'projection_rmseD' 131 | proj.projection_rmseD = sqrt((proj_resSumX + proj_resSumY) / double(proj_n_points)); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:132:22: error: 'class Projection' has no member named 'projection_rmseX' 132 | proj.projection_rmseX = sqrt(proj_resSumX / double(proj_n_points)); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:133:22: error: 'class Projection' has no member named 'projection_rmseY' 133 | proj.projection_rmseY = sqrt(proj_resSumY / double(proj_n_points)); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:156:45: error: 'const class Projection' has no member named 'observation'; did you mean 'Observation'? 156 | for (auto const& obs : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageName(std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:50:47: error: 'm_image_name' was not declared in this scope 50 | void setImageName(std::string name) { m_image_name = name; } | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void setImageSizePixel(cv::Size2i)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:51:51: error: 'm_image_size_px' was not declared in this scope 51 | void setImageSizePixel(cv::Size2i size) { m_image_size_px = size; } | ^~~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: At global scope: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:53:41: error: non-member function 'void write(cv::FileStorage&)' cannot have cv-qualifier 53 | void write(cv::FileStorage& fs) const; | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:21: error: 'Observation' was not declared in this scope 67 | std::vector observation; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 1 is invalid 67 | std::vector observation; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:67:32: error: template argument 2 is invalid /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:71:1: error: expected unqualified-id before 'private' 71 | private: | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:77:1: error: expected declaration before '}' token 77 | }; | ^ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void write(cv::FileStorage&, const string&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:82:11: error: 'const class Projection' has no member named 'write' 82 | x.write(fs); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h: In function 'void read(const cv::FileNode&, Projection&, const Projection&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:88:19: error: 'class Projection' has no member named 'read' 88 | x.read(node); | ^~~~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h: In member function 'virtual void ProjectionProcessing::ParallelProcess::operator()(const cv::Range&) const': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:72:53: error: 'class Projection' has no member named 'getImage' 72 | cv::Mat image = _d->getImage(); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:78:45: error: 'class Projection' has no member named 'setImageSizePixel' 78 | _d->setImageSizePixel(image.size()); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:80:53: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 80 | _d->observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:80:126: error: no matching function for call to 'Projection::Observation::Observation(const double&, const double&, const double&, const double&, const double&)' 80 | _d->observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:6, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation()' 15 | struct Observation | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 0 arguments, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(const Projection::Observation&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(Projection::Observation&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:4: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h: In member function 'virtual void ProjectionProcessing::ParallelProcess::operator()(const cv::Range&) const': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:72:53: error: 'class Projection' has no member named 'getImage' 72 | cv::Mat image = _d->getImage(); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:78:45: error: 'class Projection' has no member named 'setImageSizePixel' 78 | _d->setImageSizePixel(image.size()); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:80:53: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 80 | _d->observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:80:126: error: no matching function for call to 'Projection::Observation::Observation(const double&, const double&, const double&, const double&, const double&)' 80 | _d->observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryModel.h:10, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation()' 15 | struct Observation | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 0 arguments, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(const Projection::Observation&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(Projection::Observation&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = double]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.cpp:30:67: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/example.cpp:11: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h: In member function 'virtual void ProjectionProcessing::ParallelProcess::operator()(const cv::Range&) const': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:72:53: error: 'class Projection' has no member named 'getImage' 72 | cv::Mat image = _d->getImage(); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp: In member function 'bool Calibration::runCalibration(std::vector&, std::map<int, std::vector >&, bool)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:294:46: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 294 | for (auto& mp : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:310:46: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 310 | for (auto& mp : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:317:83: error: expected unqualified-id before 'default' 317 | if (mp.point_typ != Projection::Observation::TYP::default) { | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:317:63: error: expected ')' before 'default' 317 | if (mp.point_typ != Projection::Observation::TYP::default) { | ~ ^ ~~~ | ) /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:334:114: error: 'class Projection' has no member named 'gantry_index' 334 | auto resId = d.model->addResidualBlock(problem, loss, object_points[mp.id], proj.gantry_index, obs.x, obs.y); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:340:61: error: 'class Projection' has no member named 'gantry_index' 340 | if (problem.HasParameterBlock(&proj.gantry_index)) { | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:341:73: error: 'class Projection' has no member named 'gantry_index' 341 | problem.SetParameterBlockConstant(&proj.gantry_index); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:386:36: error: 'struct Projection::Observation' has no member named 'residual_pixel' 386 | res.first->residual_pixel = cv::Point2d( | ^~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:78:45: error: 'class Projection' has no member named 'setImageSizePixel' 78 | _d->setImageSizePixel(image.size()); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:398:49: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 398 | for (auto& point : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:407:30: error: 'class Projection' has no member named 'projection_rmseD' 407 | proj.projection_rmseD = sqrt((proj_resSumX + proj_resSumY) / double(proj_n_points)); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:408:30: error: 'class Projection' has no member named 'projection_rmseX' 408 | proj.projection_rmseX = sqrt(proj_resSumX / double(proj_n_points)); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Calibration.cpp:409:30: error: 'class Projection' has no member named 'projection_rmseY' 409 | proj.projection_rmseY = sqrt(proj_resSumY / double(proj_n_points)); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:80:53: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 80 | _d->observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:80:126: error: no matching function for call to 'Projection::Observation::Observation(const double&, const double&, const double&, const double&, const double&)' 80 | _d->observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryModel.h:10, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryRTK.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:4, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.h:11, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/example.cpp:10: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation()' 15 | struct Observation | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 0 arguments, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(const Projection::Observation&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(Projection::Observation&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp: In member function 'void CalibrationProcess::runCalibration(ProjectionData&, GeometryModel&, std::string)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:47:39: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 47 | for (auto& obs : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:48:71: error: expected unqualified-id before 'default' 48 | obs.point_typ = Projection::Observation::TYP::default; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:54:39: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 54 | for (auto& obs : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:57:79: error: 'outlier' is not a member of 'Projection::Observation::TYP' 57 | obs.point_typ = Projection::Observation::TYP::outlier; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:61:79: error: 'outlier' is not a member of 'Projection::Observation::TYP' 61 | obs.point_typ = Projection::Observation::TYP::outlier; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:133:66: error: 'class Projection' has no member named 'drawResiduals' 133 | cv::Mat _i = residualsWithBackground ? p.drawResiduals() : p.drawResiduals(m.getImageSizePixel()); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:133:86: error: 'class Projection' has no member named 'drawResiduals' 133 | cv::Mat _i = residualsWithBackground ? p.drawResiduals() : p.drawResiduals(m.getImageSizePixel()); | ^~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:134:55: error: 'class Projection' has no member named 'getImageName' 134 | cv::imwrite(out_residuals + p.getImageName() + ".jpg", _i); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:151:27: error: 'const class Projection' has no member named 'gantry_index' 151 | d.gantry_index << " " << | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:152:34: error: 'const class Projection' has no member named 'gantry_index' 152 | double(d.gantry_index) * GantryAngleStep.m_value << " " << | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:153:27: error: 'const class Projection' has no member named 'projection_rmseD' 153 | d.projection_rmseD << " " << | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:154:27: error: 'const class Projection' has no member named 'projection_rmseX' 154 | d.projection_rmseX << " " << | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:155:27: error: 'const class Projection' has no member named 'projection_rmseY' 155 | d.projection_rmseY << std::endl; | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/example.cpp: In function 'int main(int, char)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/example.cpp:77:88: error: 'class Projection' has no member named 'getImageSizePixel' 77 | GeometryModel model = new GeometryTilt(sdd, srd, pdata.m_projections.begin()->getImageSizePixel(), pixel_size); | ^~~~~ make[2]: [CMakeFiles/example.dir/build.make:104: CMakeFiles/example.dir/GeometryModel.cpp.o] Error 1 make[2]: * [CMakeFiles/example.dir/build.make:216: CMakeFiles/example.dir/Calibration.cpp.o] Error 1 /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'ProjectionData ProjectionProcessing::readProjectionImages(std::string, marker_detection::Parameter)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:16:87: error: no matching function for call to 'Projection::Projection(std::vector::size_type, std::string)' 16 | Projection _d(pdata.m_projections.size(), p.path().filename().string()); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:6, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate: 'Projection::Projection()' 12 | class Projection | ^~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate expects 0 arguments, 2 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate: 'constexpr Projection::Projection(const Projection&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate expects 1 argument, 2 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate: 'constexpr Projection::Projection(Projection&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate expects 1 argument, 2 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:19:20: error: 'class Projection' has no member named 'setImagePath' 19 | _d.setImagePath(p.path().u8string()); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:20:36: error: 'class Projection' has no member named 'getImage' 20 | cv::Mat image = _d.getImage(); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:22:69: error: 'class Projection' has no member named 'getImagePath' 22 | std::cerr << "Error: unable to load " << _d.getImagePath() << " as image." << std::endl; | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:31:28: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 31 | _d.observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:31:101: error: no matching function for call to 'Projection::Observation::Observation(const double&, const double&, const double&, const double&, const double&)' 31 | _d.observation.push_back(Projection::Observation(m.x, m.y, m.a, m.b, m.angle)); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:6, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation()' 15 | struct Observation | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 0 arguments, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(const Projection::Observation&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(Projection::Observation&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 5 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'ProjectionData ProjectionProcessing::readProjectionImagesParallel(std::string, marker_detection::Parameter, int)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:47:87: error: no matching function for call to 'Projection::Projection(std::vector::size_type, std::string)' 47 | Projection _d(pdata.m_projections.size(), p.path().filename().string()); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:6, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate: 'Projection::Projection()' 12 | class Projection | ^~~~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate expects 0 arguments, 2 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate: 'constexpr Projection::Projection(const Projection&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate expects 1 argument, 2 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate: 'constexpr Projection::Projection(Projection&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:12:7: note: candidate expects 1 argument, 2 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:48:20: error: 'class Projection' has no member named 'setImagePath' 48 | _d.setImagePath(p.path().u8string()); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'bool ProjectionProcessing::trackPoints(ProjectionData&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:64:60: error: 'gnu_cxx::alloc_traits<std::allocator, Projection>::value_type' {aka 'class Projection'} has no member named 'observation'; did you mean 'Observation'? 64 | for (auto& marker : pdata.m_projections[i].observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:77:81: error: 'gnu_cxx::alloc_traits<std::allocator, Projection>::value_type' {aka 'class Projection'} has no member named 'observation'; did you mean 'Observation'? 77 | for (auto const& _temp : pdata.m_projections[i].observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:84:93: error: '__gnu_cxx::__alloc_traits<std::allocator, Projection>::value_type' {aka 'class Projection'} has no member named 'observation'; did you mean 'Observation'? 84 | for (auto const& previos_img_m : pdata.m_projections[i - 1].observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'std::map<int, std::vector<double, std::allocator > > ProjectionProcessing::calculateInitialObjectPoints(ProjectionData&, GeometryModel&)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:114:42: error: 'const class Projection' has no member named 'observation'; did you mean 'Observation'? 114 | for (auto const& p1 : d1.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:123:56: error: 'const class Projection' has no member named 'gantry_index' 123 | double angle_diff = abs(abs(d1.gantry_index - d2.gantry_index) angle_step); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:123:74: error: 'const class Projection' has no member named 'gantry_index' 123 | double angle_diff = abs(abs(d1.gantry_index - d2.gantry_index) angle_step); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:130:50: error: 'const class Projection' has no member named 'observation'; did you mean 'Observation'? 130 | for (auto const& p1 : d2.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:140:50: error: 'const class Projection' has no member named 'observation'; did you mean 'Observation'? 140 | for (auto const& p1 : d1.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:143:66: error: 'const class Projection' has no member named 'observation'; did you mean 'Observation'? 143 | for (auto const& p2 : d2.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:157:104: error: 'const class Projection' has no member named 'gantry_index' 157 | Eigen::Matrix<double, 3, 4> P1_eigen = geometry.getProjectionMatrix(d1.gantry_index angle_step); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:158:104: error: 'const class Projection' has no member named 'gantry_index' 158 | Eigen::Matrix<double, 3, 4> P2_eigen = geometry.getProjectionMatrix(d2.gantry_index angle_step); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:180:36: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 180 | for (auto& p1 : d1.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'cv::Mat ProjectionProcessing::plotAllResiduals(ProjectionData&, cv::Size2i, std::string, int, bool, double, double, double, double, int, cv::Scalar)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:210:43: error: 'const class Projection' has no member named 'observation'; did you mean 'Observation'? 210 | for (auto const& m : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:228:60: error: 'const class Projection' has no member named 'gantry_index' 228 | averageResidualOut << proj.gantry_index << " " << id << " " | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'int ProjectionProcessing::detectOutlier(ProjectionData&, double)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:272:47: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 272 | for (auto const& point : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:289:49: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 289 | for (auto& point : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:295:97: error: 'outlier' is not a member of 'Projection::Observation::TYP' 295 | point.point_typ = Projection::Observation::TYP::outlier; | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'std::vector<std::pair<int, int> > ProjectionProcessing::mergeOverlappingObjectPoints(ProjectionData&, GeometryModel&, std::map<int, std::vector<double, std::allocator > >&, double)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:342:43: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 342 | for (auto& m : pd.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'int ProjectionProcessing::searchMissingObservations(ProjectionData&, GeometryModel&, std::map<int, std::vector<double, std::allocator > >&, double, bool, marker_detection::Parameter)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:365:101: error: 'class Projection' has no member named 'gantry_index' 365 | std::map<int, cv::Point2d> proj_points = geometry.projectPoints(object_points, proj.gantry_index gantryAngleStep, true); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:368:39: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 368 | for (auto& obs : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:386:47: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 386 | for (auto& obs : proj.observation) { | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:394:46: error: 'struct Projection::Observation' has no member named 'id' 394 | if (closest->id < 0) { | ^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:395:50: error: 'struct Projection::Observation' has no member named 'id' 395 | closest->id = pp.first; | ^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:404:54: error: 'class Projection' has no member named 'getImage' 404 | image = proj.getImage(); | ^~~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:409:54: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 409 | proj.observation.push_back(Projection::Observation(ell.x, ell.y, ell.a, ell.b, ell.angle, pp.first)); | ^~~ | Observation /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:409:147: error: no matching function for call to 'Projection::Observation::Observation(double&, double&, double&, double&, double&, const int&)' 409 | proj.observation.push_back(Projection::Observation(ell.x, ell.y, ell.a, ell.b, ell.angle, pp.first)); | ^ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionData.h:8, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.h:6, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation()' 15 | struct Observation | ^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 0 arguments, 6 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(const Projection::Observation&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 6 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate: 'constexpr Projection::Observation::Observation(Projection::Observation&&)' /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Projection.h:15:16: note: candidate expects 1 argument, 6 provided /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp: In function 'bool ProjectionProcessing::correctEccentricity(ProjectionData&, GeometryModel&, int)': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/ProjectionProcessing.cpp:428:39: error: 'class Projection' has no member named 'observation'; did you mean 'Observation'? 428 | for (auto& obs : proj.observation) { | ^~~ | Observation In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:5, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = double]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = double; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:208:55: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double, double*) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = ceres::Jet<double, 18>]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/autodiff.h:350:39: required from 'bool ceres::internal::AutoDifferentiate(const Functor&, const T const, int, T, T) [with int kNumResiduals = 2; ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:211:69: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double*, double) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:5, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.h:11, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.cpp:1: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = double]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = double; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:208:55: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double*, double*) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:5, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.h:11, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/CalibrationProcess.cpp:5: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = double]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = double; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:208:55: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double, double) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ In file included from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/Geometries.h:5, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/io.h:11, from /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/example.cpp:10: /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = double]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = double; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:208:55: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double*, double) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ make[2]: ** [CMakeFiles/example.dir/build.make:202: CMakeFiles/example.dir/ProjectionProcessing.cpp.o] Error 1 /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = ceres::Jet<double, 18>]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/autodiff.h:350:39: required from 'bool ceres::internal::AutoDifferentiate(const Functor&, const T const, int, T, T) [with int kNumResiduals = 2; ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:211:69: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double*, double) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = ceres::Jet<double, 18>]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/autodiff.h:350:39: required from 'bool ceres::internal::AutoDifferentiate(const Functor&, const T const, int, T*, T*) [with int kNumResiduals = 2; ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:211:69: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double, double) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = ceres::Jet<double, 18>]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/autodiff.h:350:39: required from 'bool ceres::internal::AutoDifferentiate(const Functor&, const T const, int, T*, T) [with int kNumResiduals = 2; ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:211:69: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double*, double*) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ make[2]: [CMakeFiles/example.dir/build.make:132: CMakeFiles/example.dir/GeometryDetector.cpp.o] Error 1 /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h: In instantiation of 'static Eigen::Matrix<T, 3, 4> GeometryDetector::projectionMatrix(const T, const T, const T, const T, const T, const T, const T, const T) [with T = ceres::Jet<double, 18>]': /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:100:55: required from 'bool GeometryDetector::reprojectionError::operator()(const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, const T, T) const [with T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:56:17: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, std::false_type, std::integer_sequence<int, Indices ...>) [with Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>; int ...Indices = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::false_type = std::integral_constant<bool, false>]' /usr/local/include/ceres/internal/variadic_evaluate.h:78:30: required from 'bool ceres::internal::VariadicEvaluateImpl(const Functor&, const T const, T, const void) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/variadic_evaluate.h:107:45: required from 'bool ceres::internal::VariadicEvaluate(const Functor&, const T const, T) [with ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = ceres::Jet<double, 18>]' /usr/local/include/ceres/internal/autodiff.h:350:39: required from 'bool ceres::internal::AutoDifferentiate(const Functor&, const T const, int, T*, T) [with int kNumResiduals = 2; ParameterDims = ceres::internal::ParameterDims<false, 3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1>; Functor = GeometryDetector::reprojectionError; T = double]' /usr/local/include/ceres/autodiff_cost_function.h:211:69: required from 'bool ceres::AutoDiffCostFunction<CostFunctor, kNumResiduals, Ns>::Evaluate(const double const, double*, double*) const [with CostFunctor = GeometryDetector::reprojectionError; int kNumResiduals = 2; int ...Ns = {3, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1}]' /usr/local/include/ceres/autodiff_cost_function.h:201:8: required from here /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:30: error: invalid operands of types '' and 'int' to binary 'operator<' 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~~~~~^~ /home/dentafilm/hongyang/workspace/cbct_code/CtCalib/GeometryDetector.h:69:35: error: lvalue required as left operand of assignment 69 | rOffset.block<3, 3>(0, 0) = R_ip R_op R_g; | ~^~~ make[2]: [CMakeFiles/example.dir/build.make:118: CMakeFiles/example.dir/GeometryRTK.cpp.o] Error 1 make[2]: [CMakeFiles/example.dir/build.make:146: CMakeFiles/example.dir/GeometryTilt.cpp.o] Error 1 make[2]: [CMakeFiles/example.dir/build.make:188: CMakeFiles/example.dir/io.cpp.o] Error 1 make[2]: [CMakeFiles/example.dir/build.make:230: CMakeFiles/example.dir/CalibrationProcess.cpp.o] Error 1 make[2]: [CMakeFiles/example.dir/build.make:244: CMakeFiles/example.dir/example.cpp.o] Error 1 make[2]: [CMakeFiles/example.dir/build.make:90: CMakeFiles/example.dir/Geometries.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:83: CMakeFiles/example.dir/all] Error 2 make: *** [Makefile:91: all] Error 2

hyaihjq commented 1 month ago

which eigen version?

matthiashar commented 3 weeks ago

I can not see the cause for this problem. Please check with small examples if Ceres and OpenCV are running correctly. Ceres requires an Eigen version 3.3 or later.