
    h                     |    S SK r S SKrS SKJrJr  S SKrS SKrSSK	J
r
  SSKJr  SSKJr  S\4S	 jr " S
 S\5      rg)    N)ArgumentParser	Namespace   )MaskRenderer)
RecBuilder   )BaseInsightFaceCLICommandargsc                 B    [        U R                  U R                  5      $ N)RecAddMaskParamCommandinputoutput)r
   s    a/var/www/fran/franai/venv/lib/python3.13/site-packages/insightface/commands/rec_add_mask_param.py"rec_add_mask_param_command_factoryr      s    !

DKK     c                   D    \ rS rSr\S\4S j5       rS\S\4S jrS r	Sr
g	)
r      parserc                     U R                  S5      nUR                  S[        SS9  UR                  S[        SS9  UR                  [        S9  g )Nzrec.addmaskparamr   z	input rec)typehelpr   zoutput rec, with mask param)func)
add_parseradd_argumentstrset_defaultsr   )r   _parsers     r   register_subcommand*RecAddMaskParamCommand.register_subcommand   sP    ##$67W3[AXC6ST"DEr   r   r   c                     Xl         X l        g r   _input_output)selfr   r   s      r   __init__RecAddMaskParamCommand.__init__   s    
 r   c           	      z   [        5       nUR                  SSS9  U R                  n[        R                  R                  US5      n[        R                  R                  US5      n[        R                  R                  XCS5      nU R                  n[        US9nUR                  S5      n[        R                  R                  U5      u  pU	R                  S:  a  [        U	R                  5      S:X  a7  [         R"                  " [%        S	['        U	R                  S   5      5      5      nOg[         R"                  " [)        U R*                  R,                  5      5      nO3[         R"                  " [)        U R*                  R,                  5      5      nSS/n[/        S
[        U5      5        [1        U5       GHS  u  pUS-  S:X  a  [/        SU5        UR                  U5      n[        R                  R                  U5      u  pU	R                  n[3        U[4        R6                  5      (       d  US   n[        R8                  R;                  U5      R=                  5       nUS S 2S S 2S S S24   nUR?                  U5      nUS	==   S	-  ss'   Uc  U/S/S-  -   nUS==   S	-  ss'   O>URA                  U5      nUS/U-   nUS:X  a   [/        S[        U5      [        U5      U5        [        U5      S:X  d   eURC                  UU5        GMV     URE                  5         [/        SU R                  SUS   5        g )Nr   )   r)   )ctx_iddet_sizez	train.recz	train.idxr)pathr   r   ztotal:i  zprocessing:g         g        zparam size:   zfinished onz	, failed:)#r   preparer#   osr-   joinmxrecordioMXIndexedRecordIOr$   r   read_idxunpackflaglenlabelnparrayrangeintlistimgreckeysprint	enumerate
isinstancenumbersNumberimageimdecodeasnumpybuild_paramsencode_params	add_imageclose)r%   toolroot_dirpath_imgrecpath_imgidxrA   	save_pathwrecsheader_imgidxstatiididximgr;   samplebgrparamswlabel
mask_labels                         r   runRecAddMaskParamCommand.run&   s   ~A	2;;ggll8[9ggll8[9..{MLL	Y'OOAKK&&q)	;;?6<< !#%3v||A+?"@A$t{{'7'7"89XXd4;;#3#345F1vhF$!&)HC 4x{mS)$A++,,Q/KFLLEeW^^44aXX&&s+335F1TrT"C&&s+F GqLG~D6#:-Q1 "//7
j06-Z#f+uMv;###NN3'? *D 	

mT\\;Q@r   r"   N)__name__
__module____qualname____firstlineno__staticmethodr   r   r   r&   rb   __static_attributes__ r   r   r   r      s;    FN F F 7Ar   r   )rF   r2   argparser   r   mxnetr4   numpyr<   appr   data.rec_builderr    r	   r   r   rj   r   r   <module>rq      s:     	 .    ) 'Y HA6 HAr   