-
Notifications
You must be signed in to change notification settings - Fork 2
The origin of the coordinate system of pointclouds #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@solmazhajmohammadi Thanks! We do not have to change the origin. I just want to make sure:
|
To follow up on a discussion from today's call, it does not seem that the scanner3DTop metadata includes information about the sensor position or field of view as is the case with all other sensors. It does, however, provide the location of the scanner box: Here is the metadata from {
"lemnatec_measurement_metadata": {
"user_given_metadata": {
"experiment title": "Sorghum field experiment",
"experiment responsible": "to be named",
"project": "TERRA-REF",
"instrument": "gantry at Maricopa phenotyping facility",
"instrument": "field gantry",
"location": "Maricopa phenotyping facility",
"date of sowing": "2016-04-19",
"date of emergence": "2016-04-25",
"campaign": "seedling emergence and early vigor",
"mission or scan": "3D Scan Field 0.33MperS"
},
"gantry_system_fixed_metadata": {
"system manufacturer": "LemnaTec Corp.",
"gantry fixed data 1": "Todo",
"gantry fixed data 2": "Todo"
},
"gantry_system_variable_metadata": {
"time": "08/12/2016 02:24:02",
"position x [m]": "48.7015",
"position y [m]": "0",
"position z [m]": "1.114",
"speed x [m/s]": "0",
"speed y [m/s]": "0",
"speed z [m/s]": "0",
"camera box light 1 is on": "False",
"camera box light 2 is on": "False",
"camera box light 3 is on": "False",
"camera box light 4 is on": "False",
"scanIsInPositiveDirection": "True",
"scanDistance [m]": "21.8",
"scanSpeed [m/s]": "0.33",
"scanMode": "Triggered"
},
"sensor_fixed_metadata": {
"sensor manufacturer": "Fraunhofer-Entwicklungszentrum R?ntgentechnik EZRT, Ber?hrungslose Mess- und Pr?fsysteme, www.iis.fraunhofer.de",
"sensor product name": "Custom made 3D Scanner"
},
"sensor_variable_metadata": {
"current setting Exposure [microS]": "70",
"current setting Calculate 3D files": "0",
"current setting Laser detection threshold": "512",
"current setting Scanlines per output file": "100000",
"current setting Scan direction (automatically set at runtime)": "1",
"current setting Scan distance (automatically set at runtime) [mm]": "21800",
"current setting Scan speed (automatically set at runtime) [microMeter/s]": "100000"
}
}
} by contrast, the flir camera has a much more detailed "sensor_fixed_metadata": {
"sensor manufacturer": "FLIR Systems",
"sensor product name": "A645",
"sensor serial number": "13070601",
"sensor description": "IR Sensor 640x480",
"sensor purpose": "measure infrared radiation from soil/crop surface",
"buildin variable optics": "",
"location in gantry system": "camera box, facing ground",
"location in camera box x [m]": "0.877",
"location in camera box y [m]": "1.361",
"location in camera box z [m]": "0.520",
"field of view x [m]": "1.496",
"field of view y [m]": "1.105",
"output data format": "16bit Grey",
"calibration available": "calibration parameters from FLIR to convert gray value to temperature",
"sensor computer interface": "GigE",
"sensor id": "ir camera box"
}, |
David, |
Due to a glitch in the config file, only a few meta data infos got into the 3D results. This has been fixed now. Solmaz is working on the transformation from the 3D Ply files into the gantry/world coordinate system. |
@smarshall-bmr Do we have the 3D scans with checker boards to find the pointclouds origin and its transformation to the gantry coordinate system? |
@solmazhajmohammadi I have to build a die to hold the checkerboards at exactly 90 degrees from each other, otherwise the z axis measurement isn't going to be too accurate. That and the field is quite soggy right now. |
@smarshall-bmr any update on this? |
@solmazhajmohammadi - have you heard back from Stewart? After you talk to him can you please update this issue? |
@rachelshekar @solmazhajmohammadi The first die I built for holding the targets wasn't very accurate. I'm planning on trying again soon. |
@smarshall-bmr can you please give an update on this? |
@smarshall-bmr It woud be fine If your target is not exactly 90degree. We can figure out the error using simple 2 level target later. |
@smarshall-bmr For this issue please run two full row scan in both directions. (Issue#265) |
Changing this to April milestone since dependent on terraref/computing-pipeline#265 |
@max-zilla - please update |
we will handle this in the cleaning piece - will discuss when i meet with @craig-willis and @jterstriep |
@max-zilla please update this issue |
@craig-willis we just need to apply the values Zongyang supplied above to the metadata coming from the 3dscanner I believe, in your metadata cleaning function for that sensor. we can close this once done. |
@max-zilla I'll need some clarification of where this gets applied. It looks like we can either put the offset values in the sensor fixed metadata and use them elsewhere in the pipeline, or have the metadata cleaning function to the necessary calculation and add the origin as properties. |
@solmazhajmohammadi @max-zilla @ZongyangLi I still have two questions:
|
@max-zilla @ZongyangLi @solmazhajmohammadi https://github.com/terraref/terrautils/blob/master/terrautils/metadata/lemnatec.py#L679-L708 |
@craig-willis @solmazhajmohammadi For your two questions on Jul 23:
I checked the field book this time and I am using plot borders rather than plot center. I am not sure what makes this happened, but I think this may not be the case we would like to add into terrautils. |
@craig-willis @solmazhajmohammadi |
@solmazhajmohammadi can this issue be closed? |
@solmazhajmohammadi I integrated your code for the heightmap geoTIFF registration. images in negative scan direction looked correct, but positive direction was still off. @craig-willis and I took a look yesterday, specifically at the formula to get GPS bounding box from metadata. we determined that we had 2 similar formulas in the code:
https://github.com/terraref/terrautils/blob/master/terrautils/lemnatec.py#L729 this code adds a point_cloud_origin to the metadata that we upload to Clowder.
It seems to me these should be combined - we should fix the pointCloudOrigin() function with latest information, then make the spatial.py function just use those. I implemented a first attempt to combine these formulas: https://github.com/terraref/terrautils/blob/terrautils_final_prep_2/terrautils/spatial.py#L100 I'll let you take a look at these things, but then I would like to update the scanner3d test repo we were using on Cloud9 with an example of both scan directions so we can get things working consistently. let me know if this doesn't make sense. |
@ZongyangLi and @solmazhajmohammadi are looking into using this to georeference the LAS files we create from merged PLY files. |
Stale issue -- closing. Open a new issue if work remains. |
@ZongyangLi @pless
Right now the origin of the coordinate system is set to the location of calibration object during the first calibration run.
We can go for the second option and @smarshall-bmr can do the scans to find the exact origin.
The text was updated successfully, but these errors were encountered: