Skip to content

Commit

Permalink
Print final transform call from same place, path fix
Browse files Browse the repository at this point in the history
  • Loading branch information
pierotofy committed Apr 25, 2018
1 parent f03bbe7 commit 1958657
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 16 deletions.
22 changes: 11 additions & 11 deletions modules/odm_georef/src/Georef.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ using namespace std;

std::ostream& operator<<(std::ostream &os, const GeorefSystem &geo)
{
return os << setiosflags(ios::fixed) << setprecision(6) << geo.system_ << "\n" << geo.eastingOffset_ << " " << geo.northingOffset_;
return os << setiosflags(ios::fixed) << setprecision(7) << geo.system_ << "\n" << geo.eastingOffset_ << " " << geo.northingOffset_;
}

GeorefGCP::GeorefGCP()
Expand Down Expand Up @@ -940,8 +940,6 @@ void Georef::performGeoreferencingWithGCP()
log_ << "Final transform:\n";
log_ << transFinal.transform_ << '\n';

printFinalTransform(transFinal.transform_);

// The transform used to transform model into the georeferenced system.
performFinalTransform(transFinal.transform_, mesh, meshCloud, true);
}
Expand Down Expand Up @@ -1029,8 +1027,6 @@ void Georef::createGeoreferencedModelFromExifData()
log_ << "Final transform:\n";
log_ << transFinal.transform_ << '\n';

printFinalTransform(transFinal.transform_);

log_ << '\n';
log_ << "Reading mesh file...\n";
pcl::TextureMesh mesh;
Expand Down Expand Up @@ -1084,8 +1080,6 @@ void Georef::createGeoreferencedModelFromSFM()
georefSystem_.eastingOffset_ = transform.r1c4_;
georefSystem_.northingOffset_ = transform.r2c4_;

printFinalTransform(transform);

// load mesh
log_ << '\n';
log_ << "Reading mesh file...\n";
Expand Down Expand Up @@ -1272,8 +1266,8 @@ void Georef::printGeorefSystem()
log_ << "... georeference system saved.\n";
}


void Georef::printFinalTransform(Mat4 transform)
template <typename Scalar>
void Georef::printFinalTransform(const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform)
{
if(outputObjFilename_.empty())
{
Expand All @@ -1291,7 +1285,11 @@ void Georef::printFinalTransform(Mat4 transform)
log_ << '\n';
log_ << "Saving final transform file to \'" << finalTransformFile_ << "\'...\n";
std::ofstream transformStream(finalTransformFile_.c_str());
transformStream << transform << std::endl;
transformStream << setiosflags(ios::fixed) << setprecision(7) <<
"[ " << transform(0, 0) << ",\t" << transform(0, 1) << ",\t" << transform(0, 2) << ",\t" << transform(0, 3) << " ]" << std::endl <<
"[ " << transform(1, 0) << ",\t" << transform(1, 1) << ",\t" << transform(1, 2) << ",\t" << transform(1, 3) << " ]" << std::endl <<
"[ " << transform(2, 0) << ",\t" << transform(2, 1) << ",\t" << transform(2, 2) << ",\t" << transform(2, 3) << " ]" << std::endl <<
"[ " << transform(3, 0) << ",\t" << transform(3, 1) << ",\t" << transform(3, 2) << ",\t" << transform(3, 3) << " ]";
transformStream.close();
log_ << "... final transform saved.\n";
}
Expand Down Expand Up @@ -1373,9 +1371,11 @@ void Georef::performFinalTransform(Mat4 &transMat, pcl::TextureMesh &mesh, pcl::
transform(1, 3) = georefSystem_.northingOffset_;
}

printFinalTransform(transform);

if(georeferencePointCloud_)
{
transformPointCloud(inputPointCloudFilename_.c_str(), transform, outputPointCloudFilename_.c_str());
Georef::transformPointCloud(inputPointCloudFilename_.c_str(), transform, outputPointCloudFilename_.c_str());
}

if(exportCoordinateFile_)
Expand Down
4 changes: 3 additions & 1 deletion modules/odm_georef/src/Georef.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -239,7 +239,9 @@ class Georef
/*!
* \brief printFinalTransform Prints a file containing the final transform, next to the output file.
**/
void printFinalTransform(Mat4 transform);
template <typename Scalar>
void printFinalTransform(const Eigen::Transform<Scalar, 3, Eigen::Affine> &transform);


/*!
* \brief Loads a model from an .obj file (replacement for the pcl obj loader).
Expand Down
5 changes: 1 addition & 4 deletions scripts/odm_orthophoto.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,10 +67,7 @@ def process(self, inputs, outputs):
# TODO: we should move this to a more central
# location (perhaps during the dataset initialization)
if georef and not georef.utm_east_offset:
if args.use_25dmesh:
odm_georeferencing_model_txt_geo_file = os.path.join(tree.odm_25dtexturing, tree.odm_georeferencing_model_txt_geo)
else:
odm_georeferencing_model_txt_geo_file = os.path.join(tree.odm_texturing, tree.odm_georeferencing_model_txt_geo)
odm_georeferencing_model_txt_geo_file = os.path.join(tree.odm_georeferencing, tree.odm_georeferencing_model_txt_geo)

if io.file_exists(odm_georeferencing_model_txt_geo_file):
georef.extract_offsets(odm_georeferencing_model_txt_geo_file)
Expand Down

0 comments on commit 1958657

Please sign in to comment.