We are running an experiment to observe time to germination and growth in potato plants in a greenhouse. To that end we have built a gantry system equipped with an RGB camera to capture the plants which are placed on a bench 1.8m wide by 6.5m long (distance from bench to camera approximately 2m). In Pix4D I mosaic the images, but because this experiment is so large-scale, the geolocation tags are discarded and the resulting mosaics have no projection, are therefore not aligned in space, and are not measureable. It is possible to add scale in Pix using "scale constraints", however, this resamples and therefore lowers the quality of the mosaic, and still doesn't solve the projection issue.

In ArcMap, my initial solution was to define a custom projection for the first mosaic, and georeference/resample/snap the rest so the pixels of each aligned as they should (pixel size should all have been the same from the beginning). But, my projection was simply a Transverse Mercator and I did not fiddle with the parameters. Although this aligned the mosaics, they are still not measureable and the metadata does not truly reflect pixel size.

I also tried co-registration in ENVI, but this does not precisely align pixels nor does it allow measurements.

Is there another, more precise solution out there so that I have a time series of perfectly aligned mosaics that I can measure on the mm-cm scale, and that exist in the space that they should?


I feel like I answered this (or a very similar question) recently...

Esri doesn't have any projected coordinate systems using cm or mm, so you may need to work with meters.

Personally, I would figure a reasonable latitude-longitude coordinate for the center or a corner of the table. In ArcMap, open data frame properties and select the Coordinate System tab. Modify an existing projected coordinate system by right-clicking the name and select copy and modify. Go to UTM, WGS84 (or NAD83) and use one of those.

That will open a coordinate system properties page.

  1. Change the coordinate system name.
  2. Set the projection name to Azimuthal equidistant.
  3. In the parameters, set the central meridian and latitude of origin using the lat-lon coordinates you determined.
  4. You could change the linear unit to millimeter or centimeter but that can cause problems elsewhere in the software. I would stick to meters, and convert as-needed.
  5. When finished, click OK.
  6. On the data frame properties dialog, right-click the new coordinate system's name, and select add to favorites.
  7. Right-click it again and use the Save As option to save a copy somewhere.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.