ATTENTION
- indice face commence à 1 pour OBJ
- indice face commence à 0 pour OFF
get_critical_points
Attention : Tous les modèles 3D sont transformés en nuage de pts avec N pts (cf fonction setup_dataset()
dans get_critical_points.py
). Peut importe N, à la fin il y aura tjrs 1024 valeurs qu'on obtient en appliquant un argmax : passage d'une matrice de taille Nx1024 --> 1x1024, et on récupère les indices.
outputs : A partir d'un objet 3D, peut générer 4 fichiers obj contenant les nuages de pts représentant :
- Les N pts de l'objet avec en rouge les pts critiques --> critical_pts_AND_'+file_name+'.obj
- Les N pts de l'objet avec en rouge les pts critiques --> critical_pts_AND_'+file_name+'.obj
- Les N pts de l'obejt après son passage dans PointNet --> all_pts_OF_'+file_name+'.obj
- Les N pts de l'objet avec les critical pts en gradient, cad en fonction de leur importance/occurences des sommets (parmi les N init) après le argmax (cmap : Reds)
Et un fichier json avec comme information :
point_cloud_info = {
'input_path': input_path,
'folder': Path(input_path).parent.name,
'file_name': file_name,
'category' : file_name.split('_')[0],
'numero' : file_name.split('_')[1],
'nb_critical_points': len(idx_critical_points),
'shape': pcd.squeeze(0).numpy().shape,
'critical_points_indices': list(idx_critical_points),
'pts_cloud': pcd.squeeze(0).tolist() ,
'occurences': occur.tolist()
}
inputs :
- input_path: Path to the input .off file.
- output_path: Directory to save outputs.
- kind_of_outputs : dictionnaire indicant quels fichiers on souhaite générer parmi les 3, par défaut les 3 sont générés.
Conda env : PoinNet0_env
command line :
- python3 get_critical_points.py /../odelNet10/chair/test/chair_0948.off outputs
OU
- python3 get_critical_points.py /../ModelNet10/chair/test/chair_0948.off outputs --kind_of_outputs '{"critical and non-critical points": true, "only critical points": false, "objet": false}'
run_het_critical_points.ipynb
Attention : Le notebook est à adapter en fonction de la structure du dossier initial et de celle du dossier de sortie.outputs : Crée les fichiers des pts critiques pour chaque modèle 3d donné
inputs :
- Chemin dossier avec les fichiers de modèles 3D
- Où les stoker
Conda env : PoinNet0_env
xxx
outputs : ...
inputs : ...
Conda env : XXXX
command line : ...