§
    Ú²âj~  ã                   óš  — d Z ddlZddlZddlZddlZddlmZ ddlZddl	Z	ej
                             dd¦  «         ddlmZmZmZmZ ddlZ ee¦  «                             ¦   «         j        j        dz  Zedz  Zej                             dd	¦  «        Z ed
¦  «        Zg d¢ZddiZg d¢Zedz  Zg d¢Zd„ Z e!dk    r e ¦   «          dS dS )u1  v6 against v5.31 on every kind of input: the ten meshes, and per object four clouds of fcp_2710_tests/pointclouds (clean
10k, clean 2048: sparse, noise0p6 10k: samples of the noisy mesh, pn0p6 10k: 0.6 % per-point noise, encoded with noise= as
in the 2710 tests). Reference: the clean mesh. Chamfer (mean, % of the diagonal), normals over 30Â° (decoded-surface samples
against the nearest clean-mesh sample's face normal, unsigned), parts, bytes, at 256 / 1024 / 6144 atoms.
Which package: FCP_API (default the main checkout, v5.31); the rows carry its version tag (FCP_TAG).
Writes ../report/eval_v6.csv (rows of other tags kept).

    env -u PYTHONPATH PYTHONWARNINGS=ignore .venv/bin/python ~/code/data/meshes/fcp_2910_v6/scripts/eval_v6.py
    FCP_API=/home/joao/code/fcp_devel_v6/api FCP_TAG=v6 ... [objects...]
é    N)ÚPathz6/home/joao/code/data/meshes/fcp_2810_partition/scripts)ÚDEVICEÚOBJÚUPÚRefÚreportÚimgÚFCP_TAGzv5.31z6/home/joao/code/data/meshes/fcp_2710_tests/pointclouds)ÚmeshÚclean_10000Ú
clean_2048Únoise0p6_10000Úpn0p6_10000Úpn0p6gú~j¼t“x?)é   i   i   zeval_v6.csv)ÚversionÚobjectÚinputÚatomsÚpartsÚnbytesÚchamferÚp95Ún_meanÚn_over30Úsecondsc                  óè	  ‡— t           j        dd …         pt          t          ¦  «        Št                               ¦   «         r5d„ t          j        t                               ¦   «         ¦  «        D ¦   «         ng } ˆfd„| D ¦   «         }t                               dd¬¦  «        5 }t          j	        |t          ¦  «        }|                     ¦   «          |                     |¦  «         ‰D �]í}t          j        t          |         d¬¦  «        }t          |¦  «        }t           D �]±}|dk    r|i }	}n¡|                     d	d¦  «        d
         }
t%          j        t          j        t(          |› d	|› d�z  ¦  «        j        ¦  «        }|
t,          v rAdt,          |
         t/          t$          j                             |j        ¦  «        ¦  «        z  ini }	t7          j        ¦   «         }	 t;          j        |ft?          t@          ¦  «        tB          tD          dœ|	¤Ž}n1# tF          $ r$}tI          |› d|› d|›�d¬¦  «         Y d }~�Œd }~ww xY wt7          j        ¦   «         |z
  }t@          D �]}| %                    |¦  «        }	 t;          j&        |tD          ¬¦  «        }| '                    |¦  «        }nC# tF          $ r6}tI          |› d|› d|› d|›�d¬¦  «         t$          j(        gdz  }Y d }~nd }~ww xY w| )                    tU          d$tV          |||tY          |j-        ¦  «        |j.        t_          |d¦  «        dœtU          ta          g d¢d„ |D ¦   «         ¦  «        ¦  «        ¤Ž¦  «         �Œtb          j2         3                    d¦  «        rø	 t;          j        |fdtB          tD          dœ|	¤Ž}| '                    t;          j&        |tD          ¬¦  «        ¦  «        }| )                    tU          d$tV          ||dtY          |j-        ¦  «        |j.        t_          |d¦  «        dœtU          ta          g d¢d„ |D ¦   «         ¦  «        ¦  «        ¤Ž¦  «         n0# tF          $ r#}tI          |› d|› d|›�d¬¦  «         Y d }~nd }~ww xY w| 4                    ¦   «          tI          tV          › d|d›d|d›d tY          |j-        ¦  «        d!›d|d"›d#�
d¬¦  «         �Œ³�Œï	 d d d ¦  «         d S # 1 swxY w Y   d S )%Né   c                 ó   — g | ]}|‘ŒS © r    )Ú.0Úrs     ú:/home/joao/code/data/meshes/fcp_2910_v6/scripts/eval_v6.pyú
<listcomp>zmain.<locals>.<listcomp>&   s   € Ð
1Ð
1Ð
1�ˆ1Ð
1Ð
1Ð
1ó    c                 óJ   •— g | ]}|d          t           k    r
|d         ‰v °|‘Œ S )r   r   )ÚTAG)r!   r"   Únamess     €r#   r$   zmain.<locals>.<listcomp>'   s5   ø€ ÐQÐQÐQ�! 1 Y¤<µ3Ò#6Ð#6¸1¸X¼;È%Ð;OÐ;OˆAÐ;OÐ;OÐ;Or%   ÚwÚ )Únewliner   )ÚforceÚ_r   z.plyÚnoise)r   ÚupÚdeviceú z: encode failed: T)Úflush)r0   z: decode failed: é   é   )r   r   r   r   r   r   r   )r   r   r   r   c                 óH   — g | ]}t          t          |¦  «        d ¦  «        ‘Œ S ©é   ©ÚroundÚfloat©r!   Úxs     r#   r$   zmain.<locals>.<listcomp>G   s+   € ÐFeÐFeÐFeÐ^_ÅuÍUÐSTÉXÌXÐWXÑGYÔGYÐFeÐFeÐFer%   ÚFCP_AUTOÚautoéÿÿÿÿc                 óH   — g | ]}t          t          |¦  «        d ¦  «        ‘Œ S r6   r8   r;   s     r#   r$   zmain.<locals>.<listcomp>N   s.   € ÐJiÐJiÐJiÐbcÍ5ÕQVÐWXÑQYÔQYÐ[\ÑK]ÔK]ÐJiÐJiÐJir%   z auto: failed: Ú16sÚ15sz parts=Ú3dz.1fz sr    )5ÚsysÚargvÚlistr   ÚOUTÚexistsÚcsvÚ
DictReaderÚopenÚ
DictWriterÚFIELDSÚwriteheaderÚ	writerowsÚtrimeshÚloadr   ÚINPUTSÚrsplitÚnpÚasarrayÚCLOUDSÚverticesÚPNr:   ÚlinalgÚnormÚextentsÚtimeÚperf_counterÚfcpÚencodeÚmaxÚBUDGETSr   r   Ú	ExceptionÚprintÚprefixÚdecodeÚmeasureÚnanÚwriterowÚdictr'   Úlenr   r   r9   ÚzipÚosÚenvironÚgetr2   )ÚoldÚkeepÚfr)   ÚnameÚgÚrefÚinpÚgeomÚkwÚtagÚtÚdÚeÚsecÚTÚdtÚmÚvÚdar(   s                       @r#   Úmainr‚   $   sÎ  ø€ ÝŒH�Q�R�RŒLÐ%�D¥™IœI€EÝ58·Z²Z±\´\Ð
IÐ
1Ð
1•c”n¥S§X¢X¡Z¤ZÑ0Ô0Ð
1Ñ
1Ô
1Ð
1Àr€CØQÐQÐQÐQ�sÐQÑQÔQ€DÝ	�Š�#˜rˆÑ	"Ô	"ð *e aÝŒN˜1�fÑ%Ô%ˆØ	�Š‰ŒˆØ	�Š�DÑÔÐØð &	eñ &	eˆDÝ”�S œY¨fÐ5Ñ5Ô5ˆAÝ�a‘&”&ˆCÝð #eñ #e�Ø˜&’=�=Ø  "˜"�D�DàŸ*š* S¨!Ñ,Ô,¨QÔ/�CÝœ:¥g¤lµ6¸tÐ<OÐ<OÀcÐ<OÐ<OÐ<OÑ3OÑ&PÔ&PÔ&YÑZÔZ�DØRUÕY[ÐR[ÐR[˜'¥2 c¤7­Uµ2´9·>²>À!Ä)Ñ3LÔ3LÑ-MÔ-MÑ#MÐNÐNÐac�BÝÔ%Ñ'Ô'�ðÝœ
 4ÐX­sµ7©|¬|ÅÍ6ÐXÐXÐUWÐXÐX�A�AøÝ ð ð ð Ý˜TÐ?Ð? CÐ?Ð?¸!Ð?Ð?ÀtÐLÑLÔLÐLØ�H�H�H‘Høøøøðøøøõ Ô'Ñ)Ô)¨AÑ-�Ý ð 
jñ 
j�AØŸš !™œ�Bð)ÝœJ rµ&Ð9Ñ9Ô9˜ØŸKšK¨™NœN˜˜øÝ$ð )ð )ð )Ý ÐGÐG¨ÐGÐG¨aÐGÐGÀ!ÐGÐGÈtÐTÑTÔTÐTÝœV˜H q™L˜˜˜˜˜˜øøøøð)øøøð —J’J�tð  i­C¸ÀCÈqÕX[Ð\]Ô\cÑXdÔXdÐmoÔmvÝ,1°#°q©M¬Mð ið  iÝ=AÅ#ÐFnÐFnÐFnØFeÐFeÐcdÐFeÑFeÔFeñCgô Cgñ >hô >hð ið  iñ jô jð jñ jõ ”:—>’> *Ñ-Ô-ð OðOÝ œZ¨ÐW°F½rÍ&ÐWÐWÐTVÐWÐW˜ØŸKšK­¬
°2½fÐ(EÑ(EÔ(EÑFÔF˜ØŸ
š
¥4ð $mµ¸DÈÐSUÕ]`ÐacÔaiÑ]jÔ]jÐsuÔs|Ý05°c¸1±´ð$mð $mÝAEÅcÐJrÐJrÐJrØJiÐJiÐghÐJiÑJiÔJiñGkô Gkñ Blô Blð$mð $mñ nô nð nð nøõ %ð Oð Oð OÝ ÐAÐA¨ÐAÐA¸AÐAÐAÈÐNÑNÔNÐNÐNÐNÐNÐNÐNøøøøðOøøøà—’‘	”	�	Ý�ÐWÐW˜tÐWÐWÐW¨#ÐWÐWÐW½#¸a¼g¹,¼,ÐWÐWÐWÈCÐWÐWÐWÐWÐ_cÐdÑdÔdÐdÑdñG#eð&	eð	*eð *eð *eñ *eô *eð *eð *eð *eð *eð *eð *eð *eøøøð *eð *eð *eð *eð *eð *es”   Â$ES'Ç'2HÈS'È
I	È$I	È=S'ÉI	É8S'Ê0J2Ê1S'Ê2
K2Ê<,K-Ë(S'Ë-K2Ë2BS'ÎCQÑS'Ñ
R	Ñ Q>	Ñ9S'Ñ>R	ÒAS'Ó'S+Ó.S+Ú__main__)"Ú__doc__rI   rl   rD   r\   Úpathlibr   ÚnumpyrT   rP   ÚpathÚinsertÚdegree_sweepr   r   r   r   r^   Ú__file__ÚresolveÚparentÚREPORTÚIMGrm   rn   r'   rV   rR   rX   ra   rG   rM   r‚   Ú__name__r    r%   r#   ú<module>r�      s^  ðð	ð 	ð €
€
€
Ø 	€	€	€	Ø 
€
€
€
Ø €€€Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ø €€€à „‡‚�ÐKÑ LÔ LÐ LØ -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø 
€
€
€
à	ˆˆh‰Œ×	Ò	Ñ	!Ô	!Ô	(Ô	/°(Ñ	:€Øˆu�n€à„j‡n‚n�Y Ñ(Ô(€Ø	ˆÐFÑ	GÔ	G€Ø	OÐ	OÐ	O€ØˆuÐ€Ø
Ð
Ð
€Øˆ}Ñ€Ø	vÐ	vÐ	v€ð.eð .eð .eðb ˆzÒÐØ€D�F„F€F€F€Fð Ðr%   