Ë
    ˜ƒ¢j[  ã                   ó  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dl	Z	 e	j                  d«       d dlmZ  ee«      j                  «       j                   d   Zedz  Zedz  dz  Zej)                  dd¬	«       d
„ Zd„ Zedk(  r e«        yy)é    )ÚPathNÚAggé   Údatas_2ÚanalysisÚresultsT)ÚparentsÚexist_okc                 óŠ   — t         j                  j                  «       }t         j                  j	                  | «      |_        |S ©N)Úo3dÚgeometryÚ
PointCloudÚutilityÚVector3dVectorÚpoints)ÚpÚcs     õD   /Users/bsk/Downloads/á„†á…©á†¯á„�á…¦á†¨á„‰á…³/analysis/ac28_audit.pyÚcloudr      s/   € Ü�‰×ÑÓ!€AÜ�{‰{×)Ñ)¨!Ó,€A„HØ€Hó    c                  óÐ  — t         j                  j                  t        t        dz  «      «      } | j                  «        t         j                  j                  j                  d«       t        j                  | j                  d«      j                  «      }t        j                  t        dz  |«       t        j                   ddd¬«      \  }}i }t#        dd	g«      D �]A  \  }\  }}t%        t%        d
„ t        j'                  d«      D «       «      j'                  |«      «      }i }	t)        |j'                  d«      «      D �]Ö  }
t        |› d|
j*                  › d�z  }|j-                  «       r)t        j.                  |«      }|d   }t1        |d   «      }n…t         j                  j3                  t        |
«      «      }t5        |j                  «      }|j7                  d«      }t        j                  |j                  «      }t        j8                  |||¬«       |t5        |«      |j;                  d«      j=                  «       |j?                  d«      j=                  «       dœ|	|
j@                  <   tC        ||
j@                  |	|
j@                     d¬«       |
j*                  dk(  s�ŒitE        ||   g d¢«      D ]Z  \  }\  }}|jG                  |d d …|f   |d d …|f   d¬«       |jI                  d«       |jK                  |› dd|   › dd|   › �«       Œ\ �ŒÙ |	||<   �ŒD tE        |d   g d¢«      D ]Y  \  }\  }}|jG                  |d d …|f   |d d …|f   dd ¬!«       |jI                  d«       |jK                  d"d|   › dd|   › �«       Œ[ |jM                  «        |jO                  t        d#z  d$¬%«       t        d&z  jQ                  tS        jT                  |d¬'«      «       y )(Nzviewer/part.stlé*   iðI zcad_sample.npyé   )é   é   )Úfigsize)Ú16hz*16*)Ú18h01z*18*c              3   óB   K  — | ]  }|j                  «       sŒ|–— Œ y ­wr   )Úis_dir)Ú.0r   s     r   Ú	<genexpr>zmain.<locals>.<genexpr>   s   è ø€ ÐIÑ&: ¸a¿h¹h½jœ1Ñ&:ùs   ‚˜z1. PLY*z*.plyÚ_z.npzr   Ún_rawg       @)r   r%   r   )r%   Ún_downÚminÚmaxT)ÚflushÚall_merge_pointcloud_full))r   r   )r   é   )r   r+   gš™™™™™¹?)ÚsÚequalz raw ÚXYZz / r+   Úgray)r,   r   zCAD zraw_geometry.pngéŒ   )Údpizinventory.json)Úindent)+r   ÚioÚread_triangle_meshÚstrÚDATAÚremove_duplicated_verticesr   ÚrandomÚseedÚnpÚasarrayÚsample_points_uniformlyr   ÚsaveÚOUTÚpltÚsubplotsÚ	enumerateÚnextÚglobÚsortedÚstemÚexistsÚloadÚintÚread_point_cloudÚlenÚvoxel_down_sampleÚsavez_compressedr'   Útolistr(   ÚnameÚprintÚzipÚscatterÚ
set_aspectÚ	set_titleÚtight_layoutÚsavefigÚ
write_textÚjsonÚdumps)ÚcadÚcpÚfigÚaxesÚrecordsÚrowrN   ÚpatternÚfolderÚrecordÚpathÚcacheÚar   Únr   ÚdÚaxÚiÚjs                       r   Úmainrj      s<  € Ü
�&‰&×
#Ñ
#¤C¬Ð->Ñ(>Ó$?Ó
@€CØ×"Ñ"Ô$Ü‡K�K×Ñ×Ñ˜BÔÜ	�‰�C×/Ñ/°Ó7×>Ñ>Ó	?€BÜ‡G�GŒCÐ Ñ  "Ô%Ü—‘˜Q ¨7Ô3�I€CˆØ€GÜ )¨>Ð;KÐ*L× MÑˆ‰_ˆd�GÜ”dÑI¤d§i¡i°	Ô&:ÓIÓI×NÑNÈwÓWÓXˆØˆÜ˜6Ÿ;™; wÓ/×0ˆDÜ˜4˜&  $§)¡) ¨DÐ1Ñ1ˆEØ�|‰|Œ~Ü—G‘G˜E“N� a¨¡k A´S¸¸7¹³_±1ä—F‘F×+Ñ+¬C°«IÓ6�¼#¸a¿h¹h»-¸Ø×%Ñ% cÓ*�¬b¯j©j¸¿¹Ó.B¨AÜ×#Ñ# E°!¸1Õ=Ø)*´S¸³VÀ1Ç5Á5ÈÃ8Ç?Á?ÓCTÐ\]×\aÑ\aÐbcÓ\d×\kÑ\kÓ\mÑ nˆF�4—9‘9ÑÜ�$˜Ÿ	™	 6¨$¯)©)Ñ#4¸DÕAØ�y‰yÐ7Ô7Ü # D¨¡IÒ/BÖ C‘H�B‘u˜˜!Ø—J‘J˜q¢ 1 ™v aª¨!¨¡f¨r�JÔ2°B·M±MÀ'Ô4JÈ2Ï<É<Ð[_ÐZ`Ð`eÐfkÐlmÑfnÐeoÐorÐsxÐyzÑs{Ðr|ÐX}ÕK~ò !Dð 1ð ˆ�‹ð! !Nô" ˜˜Q™Ò!4Ö5‰ˆ‰5ˆAˆaØ
�
‰
�2’a˜�c‘7˜2ša ˜c™7 R¨&ˆ
Ô1°2·=±=ÀÔ3IÈ"Ï,É,ÐY]Ð^cÐdeÑ^fÐ]gÐgjÐkpÐqrÑksÐjtÐWuÕJvð 6à×ÑÔ˜Ÿ™¤CÐ(:Ñ$:¸s˜ÔCÜÐ	Ñ×%Ñ%¤d§j¡j°ÀÔ&BÕCr   Ú__main__)Úpathlibr   rW   ÚsysÚtimeÚnumpyr:   Úopen3dr   Ú
matplotlibÚuseÚmatplotlib.pyplotÚpyplotr?   Ú__file__Úresolver	   ÚROOTr6   r>   Úmkdirr   rj   Ú__name__© r   r   Ú<module>r{      sŠ   ðÝ ß Ó Û Û Û Ø €
‡�ˆuÔ Ý áˆHƒ~×ÑÓ×'Ñ'¨Ñ*€ØˆiÑ€Ø
ˆZÑ˜)Ñ#€Ø ‡	�	�$ €	Ô &òò
Dð< ˆzÒ™4�6Ðr   