Jakub Kropacek 9b1342122b new file: i/IOTK/IOTK-1.2.2-intel-2021a.eb
new file:   i/IRODS/IRODS-0.7.3.eb
	new file:   l/libxc/libxc-5.1.5-intel-2020a.eb
	new file:   n/NodeODM/NodeODM-2.2.0-GCCcore-11.3.0.eb
	new file:   o/ODM/ODM-2.8.7/.dockerignore
	new file:   o/ODM/ODM-2.8.7/.github/workflows/publish-docker-and-wsl.yaml
	new file:   o/ODM/ODM-2.8.7/.github/workflows/publish-docker-gpu.yaml
	new file:   o/ODM/ODM-2.8.7/.github/workflows/publish-snap.yml
	new file:   o/ODM/ODM-2.8.7/.github/workflows/publish-windows.yml
	new file:   o/ODM/ODM-2.8.7/.github/workflows/test-build-prs.yaml
	new file:   o/ODM/ODM-2.8.7/.gitignore
	new file:   o/ODM/ODM-2.8.7/.gitmodules
	new file:   o/ODM/ODM-2.8.7/CNAME
	new file:   o/ODM/ODM-2.8.7/CONTRIBUTING.md
	new file:   o/ODM/ODM-2.8.7/Dockerfile
	new file:   o/ODM/ODM-2.8.7/LICENSE
	new file:   o/ODM/ODM-2.8.7/README.md
	new file:   o/ODM/ODM-2.8.7/SuperBuild/CMakeLists.txt
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Ceres.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Entwine.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-FPCFilter.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-GFlags.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Hexer.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-LASzip.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-MvsTexturing.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Obj2Tiles.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-OpenCV.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-OpenMVS.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-OpenSfM.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-PCL.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-PDAL.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-PyPopsift.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/External-Untwine.cmake
	new file:   o/ODM/ODM-2.8.7/SuperBuild/cmake/ExternalProject-Setup.cmake
	new file:   o/ODM/ODM-2.8.7/VERSION
	new file:   o/ODM/ODM-2.8.7/code_of_conduct.md
	new file:   o/ODM/ODM-2.8.7/configure.py
	new file:   o/ODM/ODM-2.8.7/configure.sh
	new file:   o/ODM/ODM-2.8.7/console.bat
	new file:   o/ODM/ODM-2.8.7/contrib/blender/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/blender/common.py
	new file:   o/ODM/ODM-2.8.7/contrib/blender/odm_photo.py
	new file:   o/ODM/ODM-2.8.7/contrib/blender/odm_video.py
	new file:   o/ODM/ODM-2.8.7/contrib/blender/photo_360.blend
	new file:   o/ODM/ODM-2.8.7/contrib/blender/photo_vr.blend
	new file:   o/ODM/ODM-2.8.7/contrib/grass/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/grass/odm_grass.py
	new file:   o/ODM/ODM-2.8.7/contrib/mergepreview/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/mergepreview/mergepreview.py
	new file:   o/ODM/ODM-2.8.7/contrib/ndvi/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/ndvi/agricultural_indices.py
	new file:   o/ODM/ODM-2.8.7/contrib/ndvi/ndvi.py
	new file:   o/ODM/ODM-2.8.7/contrib/ndvi/rename_sentera_agx710_multispectral_tif.py
	new file:   o/ODM/ODM-2.8.7/contrib/orthorectify/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/orthorectify/orthorectify.py
	new file:   o/ODM/ODM-2.8.7/contrib/orthorectify/run.sh
	new file:   o/ODM/ODM-2.8.7/contrib/pc2dem/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/pc2dem/pc2dem.py
	new file:   o/ODM/ODM-2.8.7/contrib/resize/README.md
	new file:   o/ODM/ODM-2.8.7/contrib/resize/requirements.txt
	new file:   o/ODM/ODM-2.8.7/contrib/resize/resize.py
	new file:   o/ODM/ODM-2.8.7/contrib/shell/odm_exif2utm.sh
	new file:   o/ODM/ODM-2.8.7/contrib/visveg/readme.md
	new file:   o/ODM/ODM-2.8.7/contrib/visveg/vegind.py
	new file:   o/ODM/ODM-2.8.7/docker/README
	new file:   o/ODM/ODM-2.8.7/docker/g++
	new file:   o/ODM/ODM-2.8.7/docker/gcc
	new file:   o/ODM/ODM-2.8.7/docs/issue_template.md
	new file:   o/ODM/ODM-2.8.7/gpu.Dockerfile
	new file:   o/ODM/ODM-2.8.7/innosetup.iss
	new file:   o/ODM/ODM-2.8.7/licenses/libext_copyright.txt
	new file:   o/ODM/ODM-2.8.7/licenses/libx11_copyright.txt
	new file:   o/ODM/ODM-2.8.7/licenses/license.md
	new file:   o/ODM/ODM-2.8.7/odm_docker_readme.txt
	new file:   o/ODM/ODM-2.8.7/opendm/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/boundary.py
	new file:   o/ODM/ODM-2.8.7/opendm/camera.py
	new file:   o/ODM/ODM-2.8.7/opendm/cogeo.py
	new file:   o/ODM/ODM-2.8.7/opendm/concurrency.py
	new file:   o/ODM/ODM-2.8.7/opendm/config.py
	new file:   o/ODM/ODM-2.8.7/opendm/context.py
	new file:   o/ODM/ODM-2.8.7/opendm/cropper.py
	new file:   o/ODM/ODM-2.8.7/opendm/cutline.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/commands.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/bounds/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/bounds/types.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/bounds/utils.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/dimension.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/distance_dimension.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/extended_dimension.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/extra_dimensions/partition_dimension.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/grid/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/grid/builder.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/io/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/io/las_io.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/one_partition.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/partition_plan.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/quad_partitions.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/selector.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/partition/surrounding_partitions.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/point_cloud.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/ground_rectification/rectify.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/merge.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/pdal.py
	new file:   o/ODM/ODM-2.8.7/opendm/dem/utils.py
	new file:   o/ODM/ODM-2.8.7/opendm/dls.py
	new file:   o/ODM/ODM-2.8.7/opendm/entwine.py
	new file:   o/ODM/ODM-2.8.7/opendm/gcp.py
	new file:   o/ODM/ODM-2.8.7/opendm/geo.py
	new file:   o/ODM/ODM-2.8.7/opendm/get_image_size.py
	new file:   o/ODM/ODM-2.8.7/opendm/gpu.py
	new file:   o/ODM/ODM-2.8.7/opendm/gsd.py
	new file:   o/ODM/ODM-2.8.7/opendm/io.py
	new file:   o/ODM/ODM-2.8.7/opendm/location.py
	new file:   o/ODM/ODM-2.8.7/opendm/log.py
	new file:   o/ODM/ODM-2.8.7/opendm/loghelpers.py
	new file:   o/ODM/ODM-2.8.7/opendm/mesh.py
	new file:   o/ODM/ODM-2.8.7/opendm/multispectral.py
	new file:   o/ODM/ODM-2.8.7/opendm/nvm.py
	new file:   o/ODM/ODM-2.8.7/opendm/ogctiles.py
	new file:   o/ODM/ODM-2.8.7/opendm/orthophoto.py
	new file:   o/ODM/ODM-2.8.7/opendm/osfm.py
	new file:   o/ODM/ODM-2.8.7/opendm/photo.py
	new file:   o/ODM/ODM-2.8.7/opendm/point_cloud.py
	new file:   o/ODM/ODM-2.8.7/opendm/progress.py
	new file:   o/ODM/ODM-2.8.7/opendm/pseudogeo.py
	new file:   o/ODM/ODM-2.8.7/opendm/remote.py
	new file:   o/ODM/ODM-2.8.7/opendm/report/dsm_gradient.png
	new file:   o/ODM/ODM-2.8.7/opendm/report/overlap_color_map.txt
	new file:   o/ODM/ODM-2.8.7/opendm/report/overlap_diagram_legend.png
	new file:   o/ODM/ODM-2.8.7/opendm/rollingshutter.py
	new file:   o/ODM/ODM-2.8.7/opendm/shots.py
	new file:   o/ODM/ODM-2.8.7/opendm/system.py
	new file:   o/ODM/ODM-2.8.7/opendm/thermal.py
	new file:   o/ODM/ODM-2.8.7/opendm/thermal_tools/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/thermal_tools/dji_unpack.py
	new file:   o/ODM/ODM-2.8.7/opendm/thermal_tools/flir_unpack.py
	new file:   o/ODM/ODM-2.8.7/opendm/thermal_tools/thermal_utils.py
	new file:   o/ODM/ODM-2.8.7/opendm/tiles/color_relief.txt
	new file:   o/ODM/ODM-2.8.7/opendm/tiles/gdal2tiles.py
	new file:   o/ODM/ODM-2.8.7/opendm/tiles/hsv_merge.py
	new file:   o/ODM/ODM-2.8.7/opendm/tiles/tiler.py
	new file:   o/ODM/ODM-2.8.7/opendm/types.py
	new file:   o/ODM/ODM-2.8.7/opendm/utils.py
	new file:   o/ODM/ODM-2.8.7/opendm/vendor/__init__.py
	new file:   o/ODM/ODM-2.8.7/opendm/vendor/gdal_fillnodata.py
	new file:   o/ODM/ODM-2.8.7/portable.Dockerfile
	new file:   o/ODM/ODM-2.8.7/requirements.txt
	new file:   o/ODM/ODM-2.8.7/run.bat
	new file:   o/ODM/ODM-2.8.7/run.py
	new file:   o/ODM/ODM-2.8.7/run.sh
	new file:   o/ODM/ODM-2.8.7/snap/snapcraft.yaml
	new file:   o/ODM/ODM-2.8.7/snap/snapcraft21.yaml
	new file:   o/ODM/ODM-2.8.7/stages/__init__.py
	new file:   o/ODM/ODM-2.8.7/stages/dataset.py
	new file:   o/ODM/ODM-2.8.7/stages/mvstex.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_app.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_dem.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_filterpoints.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_georeferencing.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_meshing.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_orthophoto.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_postprocess.py
	new file:   o/ODM/ODM-2.8.7/stages/odm_report.py
	new file:   o/ODM/ODM-2.8.7/stages/openmvs.py
	new file:   o/ODM/ODM-2.8.7/stages/run_opensfm.py
	new file:   o/ODM/ODM-2.8.7/stages/splitmerge.py
	new file:   o/ODM/ODM-2.8.7/start-dev-env.sh
	new file:   o/ODM/ODM-2.8.7/test.sh
	new file:   o/ODM/ODM-2.8.7/tests/assets/.gitignore
	new file:   o/ODM/ODM-2.8.7/tests/assets/gcp_extras.txt
	new file:   o/ODM/ODM-2.8.7/tests/assets/gcp_latlon_south.txt
	new file:   o/ODM/ODM-2.8.7/tests/assets/gcp_latlon_valid.txt
	new file:   o/ODM/ODM-2.8.7/tests/assets/gcp_michigan_feet_valid.txt
	new file:   o/ODM/ODM-2.8.7/tests/assets/gcp_utm_north_valid.txt
	new file:   o/ODM/ODM-2.8.7/tests/assets/images/DJI_0002.JPG
	new file:   o/ODM/ODM-2.8.7/tests/assets/reconstruction.json
	new file:   o/ODM/ODM-2.8.7/tests/assets/sample.json
	new file:   o/ODM/ODM-2.8.7/tests/test_camera.py
	new file:   o/ODM/ODM-2.8.7/tests/test_gcp.py
	new file:   o/ODM/ODM-2.8.7/tests/test_osfm.py
	new file:   o/ODM/ODM-2.8.7/tests/test_remote.py
	new file:   o/ODM/ODM-2.8.7/tests/test_types.py
	new file:   o/ODM/ODM-2.8.7/vcpkg-requirements.txt
	new file:   o/ODM/ODM-2.8.7/win32env.bat
	new file:   o/ODM/ODM-2.8.7/winrun.bat
	new file:   o/ODM/v2.8.7.tar.gz
	new file:   y/Yambo/Yambo-5.1.0-intel-2020a.eb
	new file:   y/Yambo/Yambo-5.1.0-intel-2020a.eb.bak_20220715124556_61837
	new file:   y/Yambo/Yambo-5.1.0-intel-2021a.eb.old
	deleted:    y/Yambo/Yambo-5.1.0-intel-2021a.eb
2022-07-19 15:02:22 +02:00

66 lines
2.1 KiB
Python

#!/usr/bin/env python
# Renders a photo.
# ExifTool must be on your PATH.
# To generate a 360 panoramic photo:
# blender -b photo_360.blend --python odm_photo.py -- <project-path>
# To generate a 360 3D panoramic photo:
# blender -b photo_vr.blend --python odm_photo.py -- <project-path>
# NB: argument order matters!
import sys
import bpy
import subprocess
from common import loadMesh
def main():
if len(sys.argv) < 5 or sys.argv[-2] != '--':
sys.exit('Please provide the ODM project path.')
projectHome = sys.argv[-1]
loadMesh(projectHome +
'/odm_texturing/odm_textured_model_geo.obj')
blendName = bpy.path.display_name_from_filepath(bpy.data.filepath)
fileName = projectHome + '/odm_photo/odm_' + blendName
render = bpy.data.scenes['Scene'].render
render.filepath = fileName
bpy.ops.render.render(write_still=True)
width = render.resolution_x
height = render.resolution_y
if(render.use_multiview):
writeExif(fileName+render.views[0].file_suffix+'.jpg', width, height)
writeExif(fileName+render.views[1].file_suffix+'.jpg', width, height)
else:
writeExif(fileName+'.jpg', width, height)
def writeExif(fileName, width, height):
w = str(width)
h = str(height)
subprocess.run(['exiftool',
'-overwrite_original',
'-CroppedAreaImageWidthPixels=' + w,
'-CroppedAreaImageHeightPixels=' + h,
'-FullPanoWidthPixels=' + w,
'-FullPanoHeightPixels=' + h,
'-CroppedAreaLeftPixels=0',
'-CroppedAreaTopPixels=0',
'-ProjectionType=equirectangular',
'-UsePanoramaViewer=True',
'-PoseHeadingDegrees=0',
'-LargestValidInteriorRectLeft=0',
'-LargestValidInteriorRectTop=0',
'-LargestValidInteriorRectWidth=' + w,
'-LargestValidInteriorRectHeight=' + h,
fileName])
if __name__ == '__main__':
main()