Releases: Any2HRTF/PPM
PyBezierPPM 3.0
pybezierppm-3.0 Update README.md
pybezierppm-3.0rc3
pinna regions now anatomically correct
Thanks Kathi!
Full Changelog: pybezierppm-3.0rc2...pybezierppm-3.0rc3
pybezierppm-3.0rc2
Update core_class.py
pybezierppm-3.0rc1
Full Changelog: pybezierppm-3.0b4...pybezierppm-3.0rc1
pybezierppm-3.0b4
What's Changed
Other Changes
- Change parameter names by @felixperfler in #57
- updated metrics by @felixperfler in #59
- New csv format by @felixperfler in #60
Full Changelog: pybezierppm-2.0rc4...pybezierppm-3.0b4
BezierPPM 3.0
Full Changelog: bezier-ppm-3.0...bezier-ppm-3.0
PyBezierPPM 2.0
Full Changelog: pybezierppm-2.0rc3...pybezierppm-2.0rc4
Bezier PPM 2.0
bezier-ppm-2.0 Update Blender Add-on.yaml
Matlab_1.6.0
Parametric pinna model (PPM) - MATLAB interface
Author: Florian Pausch (2023)
Versions and contributors:
0.8 and above: Florian Pausch (2023)
0.7 and below: Oscar Jones, Mantas Tamulionis (2021)
Current version:
1.6.0 (release)
Added README.md, CITATION.cff, and EUPL-1.2 license.
OVERVIEW
-
demo_ppm
MATLAB script to demonstrate the functionality of the interface to the PPM (single-parameter and multiple-parameter input), including bi-directional communication with Blender via Python API -
Main functions:
-
ppm_initialize()
- Initialize the PPM structure array
- Optionally clean up previous data in result directory
-
ppm_get_values()
- Obtain the parameter values from the PPM contained in the Blender file to be modified, as specified in the PPM structure array
- Return a subset of parameter values as per 'type', 'name', 'axis'
- Save the comma-separated parameter set as
txt
file - Optionally render the PPM as point cloud (
ply
file) or mesh (stl
file)
-
ppm_set_values()
Set the parameter values of the PPM contained in the Blender file to be modified- Independently select and modify parameters via 'type'/'name'/'axis'
- Use cell-array input to select and modify multiple parameters simultaneously
- Specify the rotation of PPM parameters via Euler angles
- itr=1: Change the selected parameter values only once as per ppm.modify.instruction_mode
- itr>1: Change itr neigboring values in steps of range/itr in a range of (+/- range/2) symmetric around val
- sample_start_idx: File-name index. If itr>1 the exported or rendered files start at this index, which is incremented
- Export the PPM as point cloud (
ply
file) - Export the PPM as mesh (
stl
file) - Render the PPM as image (
png
image) - Render rendered image's depth information as
png
andexr
images (with control of depth-map range) - Manually set the camera pose when rendering the PPM
- Automatically set the camera rotation to point at a specified reference point cam_loc_ref before rendering
-
ppm_evaluate()
Evaluate the PPM mesh against a target mesh in terms of the minimum pointwise distance for two directions- Only for single-parameter input in
ppm_set_values()
: Plot parameter value per iteration (ppm.modify.itr) - Plot modeled point cloud vs. target point cloud
- Plot histogram of minimum pointwise distance for direction 1 (P -> PPM, Q -> Target)
- If ppm.modify.itr > 1 the parameter value is set to the one resulting in the minimum mean minimum pointwise distance (for the direction with the higher supremum) across iterations
- Only for single-parameter input in
-
ppm_evaluate_multiple_meshes
MATLAB script to compare multiple PPM meshes to the corresponding target meshes and evaluate their geometric fit in terms of the Hausdorff distance -
ppm_test
MATLAB script for comprehensive tests ofppm_initialize()
,ppm_get_values()
,ppm_set_values()
(single-parameter and multiple-parameter inputs), andppm_evaluate()
COMPATIBILITY
- Versions 1.1.0 and above only work with the Blender model ARI_PPM_v1 (armature and object definitions), see
config/parameter_defaults_v1.mat
andconfig/shape_key_limits_v1.mat
. - Version 1.6.0 requires the current Python scripts
python/get_values_and_export_mesh_v1_6_0.py
andpython/set_values_and_export_mesh_v1_6_0.py
RELEASE NOTES
-
python/get_values_and_export_mesh_v1_6_0.py
:- BUILD: renamed from
python/get_values_and_export_mesh_v1_5_0.py
(now obsolete) - DOCS: changed function description
- BUILD: renamed from
-
python/set_values_and_export_mesh_v1_6_0.py
:- BUILD: renamed from
python/set_values_and_export_mesh_v1_5_0.py
(now obsolete) - DOCS: changed function description
- BUILD: renamed from
-
ppm_demo
:- FEAT: added option 'auto_correct' to input parameters of ppm_set_values()
- FEAT: added 'shade_smooth' input parameter when calling ppm_set_values() for demonstration purposes
- BUILD: now calls
ppm_plot_distance()
instead ofppm_plot_hd()
- DOCS: added latest PPM-related publication
- DOCS: updated description of the script
-
ppm_initialize()
:- FIX: extended cleanup to remove stl files
- FIX: changed command for deleting 'blender_render.log'
- FIX: now paths may contain spaces
- DOCS: changed function description and some comments
-
ppm_get_values()
:- BUILD: now calls
python/get_values_and_export_mesh_v1_6_0.py
- FIX: now paths may contain spaces
- DOCS: updated function description and some comments
- BUILD: now calls
-
ppm_set_values()
:- FEAT: added 'shade_smooth' to smooth mesh faces to make rendered images more pleasing
- FIX: now paths may contain spaces
- FIX: added 'sample_start_idx' when calling
ppm_get_values()
withinppm_set_values()
for correct naming of result files, in caseppm_get_values()
was not called before running the latter function - DOCS: updated function description
-
ppm_modify_parameter_values()
:- BUILD: changed parameter sets and cam-related settings are now saved in the sub-folders 'parameters' and 'cam', respectively, in the result folder
- BUILD: accounted for file-name start idx of the exported files
-
ppm_blender_execute()
:- BUILD: now calls
python/set_values_and_export_mesh_v1_6_0.py
- FIX: now paths may contain spaces
- BUILD: now calls
-
ppm_evaluate()
:- BUILD: evaluation now accounts for direction-dependent distance metrics, i.e. directed pointwise minimum distances of direction 1 and 2, and Hausdorff distance
- BUILD: added path error when target mesh does not exist
- BUILD: replaced function call
ppm_plot_hd()
byppm_plot_distance()
- BUILD: removed unwanted printed output
- FIX: fixed dimension of ppm.evaluate.hd for itr>1
- FIX: now paths may contain spaces
- STYLE: freeze aspect ratio when rotating
- STYLE: print geometric errors in table format
- DOCS: corrected axis labels and printed output
- DOCS: updated function description and changed some comments
-
ppm_plot_distance()
:- BUILD: renamed from
ppm_plot_hd()
- BUILD: now plots direction-dependent distance, i.e. directed pointwise minimum distances of direction 1
- BUILD: renamed from
-
ppm_test
- TEST: added tic/toc
- DOCS: added diary
- DOCS: updated function description
- BUILD: moved to folder test
Matlab_1.5.0
Parametric pinna model (PPM) - MATLAB interface
Author: Florian Pausch (2022)
Versions and contributors:
0.8 and above: Florian Pausch (2022)
0.7 and below: Oscar Jones, Mantas Tamulionis (2021)
Current version:
1.5.0 (release)
OVERVIEW
-
demo_ppm
MATLAB script to demonstrate the functionality of the interface to the PPM (single-parameter and multiple-parameter input), including bi-directional communication with Blender via Python API -
Main functions:
-
ppm_initialize()
- Initialize the PPM structure array
- Optionally clean up previous data in result directory
-
ppm_get_values()
- Obtain the parameter values from the PPM contained in the Blender file to be modified, as specified in the PPM structure array
- Return a subset of parameter values as per 'type', 'name', 'axis'
- Save the comma-separated parameter set as
txt
file - Render the PPM as point cloud (
ply
file) or mesh (stl
file)
-
ppm_set_values()
Set the parameter values of the PPM contained in the Blender file to be modified- Independently select and modify parameters via 'type'/'name'/'axis'
- Use cell-array input to select and modify multiple parameters simultaneously
- Specify the rotation of PPM parameters via Euler angles
- itr=1: Change the selected parameter values only once as per ppm.modify.instruction_mode
- itr>1: Change itr neigboring values in steps of range/itr in a range of (+/- range/2) symmetric around val
- sample_start_idx: File-name index. If itr>1 the exported or rendered files start at this index, which is incremented
- Export the PPM as point cloud (
ply
file) - Export the PPM as mesh (
stl
file) - Render the PPM as image (
png
image) - Render rendered image's depth information as
png
andexr
images (with control of depth-map range) - Manually set the camera pose when rendering the PPM
- Automatically set the camera rotation to point at a specified reference point cam_loc_ref before rendering
-
ppm_evaluate()
Evaluate the PPM mesh against a target mesh in terms of the Hausdorff distance- Only for single-parameter input in ppm_set_values: Plot parameter value per iteration (ppm.modify.itr)
- Plot modeled point cloud vs. target point cloud
- Plot histogram of Hausdorff values
- If ppm.modify.itr > 1 the parameter value is set to the one resulting in the minimum mean minimum Hausdorff distance across iterations
-
ppm_evaluate_multiple_meshes
MATLAB script to compare multiple PPM meshes to the corresponding target meshes and evaluate their geometric fit in terms of the Hausdorff distance -
ppm_test
MATLAB script for comprehensive tests ofppm_initialize()
,ppm_get_values()
,ppm_set_values()
(single-parameter and multiple-parameter inputs), andppm_evaluate()
COMPATIBILITY
- Versions 1.1.0 and above only work with the Blender model ARI_PPM_v1 (armature and object definitions), see
config/parameter_defaults_v1.mat
andconfig/shape_key_limits_v1.mat
. - Version 1.5.0 requires the current Python scripts
python/get_values_and_export_mesh_v1_5_0.py
andpython/set_values_and_export_mesh_v1_5_0.py
RELEASE NOTES
-
python/get_values_and_export_mesh_v1_5_0.py
:- BUILD: renamed from
python/get_values_and_export_mesh_v1_4_0.py
(now obsolete) - FEAT: fetch PPM parameters, export them as txt-file to the sub-folder 'parameters', and optionally export as point cloud and mesh to the sub-folders 'pc' and 'mesh', respectively, all located in the result folder
- BUILD: renamed from
-
python/set_values_and_export_mesh_v1_5_0.py
:- BUILD: renamed from
python/set_values_and_export_mesh_v1_4_0.py
(now obsolete) - BUILD: if required create sub-folders in the result folder for 'img', 'img_depth' (-> 'png', -> 'exr'), 'pc', 'mesh', 'cam'
- BUILD: move 'blender_render.log' to base-result folder
- FIX: disable all objects (including the target mesh) except ARI_PPM_v1 for rendering
- DOCS: updated function description
- BUILD: renamed from
-
ppm_demo
:- BUILD: changed argument 'mesh' to 'pc' to export modelled mesh as point cloud (
ply
file) - FEAT: added 'sample_start_idx' to demonstrate its usage in
ppm_get_values()
andppm_set_values()
- FIX: removed unnecessary selection in example for multiple-parameter input
- FIX: changed mesh to pc when calling
ppm_evaluate()
- REFACTOR: extended set of input arguments when calling
ppm_set_values()
- DOCS: updated release-version number in function description
- BUILD: changed argument 'mesh' to 'pc' to export modelled mesh as point cloud (
-
ppm_initialize()
:- BUILD: account for introduced result sub-folders, and optionally auto-delete all existing export/render sub-folders in result folder
- DOCS: changed function description and some comments
-
ppm_get_values()
:- BUILD: now calls
python/get_values_and_export_mesh_v1_5_0.py
- BUILD: added folder 'parameters' to save fetched parameter values and deleted 'blender_bones_data.txt'
- FEAT: added input arguments to optionally export mesh as
ply
and/orstl
file - FEAT: added input argument to define the file-name start idx ('sample_start_idx') of the exported files (
txt
,ply
,stl
) - FIX: now fetches parameters from [ppm.modify.sample_start_idx, .txt] instead of blender_bones_data.txt, the latter containing default PPM-parameter values
- DOCS: updated function description and some comments
- BUILD: now calls
-
ppm_set_values()
:- BUILD: automatically create sub-folders in result folder per file type to separately store exported and rendered files (folders: parameters, pc, mesh, img, img_depth with sub-folders for
png
andexr
files, and cam) - FEAT: changed argument 'mesh' to 'pc' to export the PPM as point cloud (
ply
file) - FEAT: used old argument 'mesh' to export the PPM as mesh (
stl
file; instead ofply
) - FEAT: added input argument to define the file-name start idx of the exported files (
txt
,ply
,stl
,png
,exr
) - FIX: execute
ppm_get_values()
if not done before executingppm_set_values()
- DOCS: extended function description and changed some comments
- BUILD: automatically create sub-folders in result folder per file type to separately store exported and rendered files (folders: parameters, pc, mesh, img, img_depth with sub-folders for
-
ppm_modify_parameter_values()
:- BUILD: changed parameter sets and cam-related settings are now saved in the sub-folders 'parameters' and 'cam', respectively, in the result folder
- BUILD: accounted for file-name start idx of the exported files
-
ppm_blender_execute()
:- BUILD: now calls
python/set_values_and_export_mesh_v1_5_0.py
- FEAT: extended parsing to include 'pc' to export the PPM as point cloud (
ply
file) - DOCS: changed some comments
- BUILD: now calls
-
ppm_evaluate()
:- BUILD: removed 'path_pc_result' and 'name_pc_result' from input-arguments set
- FEAT: added 'sample_start_idx' to input parameters
- FIX: added error message if result point cloud does not exist
- DOCS: changed term mesh to pc (point cloud)
- DOCS: updated function description and changed some comments
-
ppm_test
- TEST: added and varied 'sample_start_idx' as test cases
- TEST: added and varied 'image', 'image_depth', 'pc' and 'mesh' as test cases