+
     °³jZ(  ã                   óˆ   € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHt ^RIHtHtHt ^RIHt  ! R R	]4      tR# )
é    N)Ú
namedtuple)ÚPath)ÚAnyÚCallableÚOptionalÚUnion)ÚImage)Úextract_archiveÚiterable_to_strÚverify_str_arg)ÚVisionDatasetc                   óÔ  a a€ ] tR t^t oRt]! R. R<O4      t. ]! R^ ^ÿR^ RRR=4      N]! R^^ÿR^ RRR=4      N]! R^^ÿR^ RRR=4      N]! R	^^ÿR^ RRR=4      N]! R
^^ÿR^ RRR=4      N]! R^^ÿR^ RRR>4      N]! R^^ÿR^ RRR?4      N]! R^^ R^RRR@4      N]! R^^R^RRRA4      N]! R^	^ÿR^RRRB4      N]! R^
^ÿR^RRRC4      N]! R^^R^RRRD4      N]! R^^R^RRRE4      N]! R^^R^RRRF4      N]! R^^ÿR^RRRG4      N]! R^^ÿR^RRRH4      N]! R^^ÿR^RRRI4      N]! R^^R^RRRJ4      N]! R^^ÿR^RRRJ4      N]! R^^R^RRRK4      N]! R^^R^RRRL4      N]! R^^R^RRRM4      N]! R ^^	R^RRRN4      N]! R!^^
R!^RRRO4      N]! R"^^R#^RRRP4      N]! R$^^R#^RRRQ4      N]! R%^^R&^RRRR4      N]! R'^^R&^RRRS4      N]! R(^^R&^RRRT4      N]! R)^^ÿR&^RRRU4      N]! R*^^ÿR&^RRRV4      N]! R+^^R&^RRRW4      N]! R,^ ^R&^RRRX4      N]! R-^!^R&^RRRY4      N]! R.RZRZR&^RRRR4      NtR[V3R/ lV 3R0 llltV3R1 lR2 lt	V3R3 lR4 lt
V3R5 lR6 ltV3R7 lR8 ltV3R9 lR: ltR;tVtV ;t# )\Ú
Cityscapesaû  `Cityscapes <http://www.cityscapes-dataset.com/>`_ Dataset.

Args:
    root (str or ``pathlib.Path``): Root directory of dataset where directory ``leftImg8bit``
        and ``gtFine`` or ``gtCoarse`` are located.
    split (string, optional): The image split to use, ``train``, ``test`` or ``val`` if mode="fine"
        otherwise ``train``, ``train_extra`` or ``val``
    mode (string, optional): The quality mode to use, ``fine`` or ``coarse``
    target_type (string or list, optional): Type of target to use, ``instance``, ``semantic``, ``polygon``
        or ``color``. Can also be a list to output a tuple with all specified target types.
    transform (callable, optional): A function/transform that takes in a PIL image
        and returns a transformed version. E.g, ``transforms.RandomCrop``
    target_transform (callable, optional): A function/transform that takes in the
        target and transforms it.
    transforms (callable, optional): A function/transform that takes input sample and its target as entry
        and returns a transformed version.

Examples:

    Get semantic segmentation target

    .. code-block:: python

        dataset = Cityscapes('./data/cityscapes', split='train', mode='fine',
                             target_type='semantic')

        img, smnt = dataset[0]

    Get multiple targets

    .. code-block:: python

        dataset = Cityscapes('./data/cityscapes', split='train', mode='fine',
                             target_type=['instance', 'color', 'polygon'])

        img, (inst, col, poly) = dataset[0]

    Validate on the "coarse" set

    .. code-block:: python

        dataset = Cityscapes('./data/cityscapes', split='val', mode='coarse',
                             target_type='semantic')

        img, smnt = dataset[0]
ÚCityscapesClassÚ	unlabeledÚvoidFTzego vehiclezrectification borderz
out of roiÚstaticÚdynamicÚgroundÚroadÚflatÚsidewalkÚparkingz
rail trackÚbuildingÚconstructionÚwallÚfencez
guard railÚbridgeÚtunnelÚpoleÚobjectÚ	polegroupztraffic lightztraffic signÚ
vegetationÚnatureÚterrainÚskyÚpersonÚhumanÚriderÚcarÚvehicleÚtruckÚbusÚcaravanÚtrailerÚtrainÚ
motorcycleÚbicyclezlicense platec                ó´   <€ V ^8„  d   QhRS[ S[S[3,          RS[RS[RS[ S[S[,          S[3,          RS[S[,          RS[S[,          RS[S[,          RR	/# )
é   ÚrootÚsplitÚmodeÚtarget_typeÚ	transformÚtarget_transformÚ
transformsÚreturnN)r   Ústrr   Úlistr   r   )ÚformatÚ__classdict__s   "€Ú`/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torchvision/datasets/cityscapes.pyÚ__annotate__ÚCityscapes.__annotate__i   sŠ   ø€ ÷ D2ñ D2á‘C™�IÕðD2ñ ðD2ñ ð	D2ñ
 ™4¡�9¡c˜>Õ*ðD2ñ ™HÕ%ðD2ñ #¡8Õ,ðD2ñ ™XÕ&ðD2ð 
ñD2ó    c           
     óì  <€ \         SV `  WWV4       VR 8X  d   RMRV n        \        P                  P                  V P                  RV4      V n        \        P                  P                  V P                  V P                  V4      V n        W@n	        W n
        . V n        . V n        \        VRR4       VR 8X  d   RpMRpRp	V	P                  W#\        V4      4      p	\        VRW‰4       \!        V\"        4      '       g	   V.V n	        V P                   U
u. uF  p
\        V
RR4      NK  	   p
\        P                  P%                  V P                  4      '       d1   \        P                  P%                  V P                  4      '       Egp   VR8X  d,   \        P                  P                  V P                  R	4      pM*\        P                  P                  V P                  R
4      pV P                  R8X  d9   \        P                  P                  V P                  V P                   R24      pMHV P                  R8X  d8   \        P                  P                  V P                  V P                   R24      p\        P                  P'                  V4      '       dS   \        P                  P'                  X4      '       d.   \)        W°P                  R7       \)        WÀP                  R7       M\+        R4      h\        P,                  ! V P                  4       EFO  p\        P                  P                  V P                  V4      p\        P                  P                  V P                  V4      p\        P,                  ! V4       FÝ  p. pV P                   Ft  pRP                  VP                  R4      ^ ,          V P/                  V P                  V4      4      pVP1                  \        P                  P                  VV4      4       Kv  	  V P                  P1                  \        P                  P                  VV4      4       V P                  P1                  V4       Kß  	  EKR  	  R# u up
i )ÚfineÚgtFineÚgtCoarseÚleftImg8bitr7   Útrain_extrazOUnknown value '{}' for argument split if mode is '{}'. Valid values are {{{}}}.r6   r8   zleftImg8bit_trainextra.zipzleftImg8bit_trainvaltest.zipz_trainvaltest.zipz.zip)Ú	from_pathÚto_pathz‹Dataset not found or incomplete. Please make sure all required folders for the specified "split" and "mode" are inside the "root" directoryz{}_{}Ú_leftImg8bitN)rF   Úcoarse)r0   ÚtestÚval)r0   rJ   rP   )ÚinstanceÚsemanticÚpolygonÚcolor)ÚsuperÚ__init__r7   ÚosÚpathÚjoinr5   Ú
images_dirÚtargets_dirr8   r6   ÚimagesÚtargetsr   r?   r   Ú
isinstancer>   ÚisdirÚisfiler
   ÚRuntimeErrorÚlistdirÚ_get_target_suffixÚappend)Úselfr5   r6   r7   r8   r9   r:   r;   Úvalid_modesÚmsgÚvalueÚimage_dir_zipÚtarget_dir_zipÚcityÚimg_dirÚ
target_dirÚ	file_nameÚtarget_typesÚtÚtarget_nameÚ	__class__s   &&&&&&&&            €rA   rV   ÚCityscapes.__init__i   s  ø€ ô 	‰Ñ˜¨9ÔGØ $¨¤‘H°JˆŒ	ÜŸ'™'Ÿ,™, t§y¡y°-ÀÓGˆŒÜŸ7™7Ÿ<™<¨¯	©	°4·9±9¸eÓDˆÔØ&ÔØŒ
ØˆŒØˆŒä�t˜VÐ%7Ô8Ø�6Œ>Ø2‰Kà9ˆKØ_ˆØ�j‰j˜¤o°kÓ&BÓCˆÜ�u˜g {Ô8ä˜+¤t×,Ò,Ø +˜}ˆDÔð ×)Ò)ó	
á)�ô ˜5 -Ð1]Ö^Ù)ñ	
ô
 �w‰w�}‰}˜TŸ_™_×-Ò-´R·W±W·]±]À4×CSÑCS×5TÓ5Tà˜Ô%Ü "§¡§¡¨T¯Y©YÐ8TÓ U‘ä "§¡§¡¨T¯Y©YÐ8VÓ W�à�y‰y˜HÔ$Ü!#§¡§¡¨d¯i©i¸D¿I¹I¸;ÐFWÐ9XÓ!Y‘Ø—‘˜jÔ(Ü!#§¡§¡¨d¯i©i¸D¿I¹I¸;ÀdÐ9KÓ!L�ä�w‰w�~‰~˜m×,Ò,´·±·±À×1OÒ1OÜ¨-ÇÁÕKÜ¨.Ç)Á)ÖLä"ðTóð ô
 —J’J˜tŸ™×/ˆDÜ—g‘g—l‘l 4§?¡?°DÓ9ˆGÜŸ™Ÿ™ d×&6Ñ&6¸Ó=ˆJÜŸZšZ¨Ö0�	Ø!�Ø×)Ô)�AØ")§.¡.Ø!Ÿ™¨Ó7¸Õ:¸D×<SÑ<SÐTX×T]ÑT]Ð_`Ó<aó#�Kð !×'Ñ'¬¯©¯©°ZÀÓ(MÖNñ	 *ð —‘×"Ñ"¤2§7¡7§<¡<°¸Ó#CÔDØ—‘×#Ñ# LÖ1ô 1ó 0ùò5	
s   ÄQ1c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[3,          /# )r4   Úindexr<   )ÚintÚtupler   )r?   r@   s   "€rA   rB   rC   ¯   s#   ø€ ÷ ñ ¡ð ©©s±C¨x­ñ rD   c                ó  € \         P                  ! V P                  V,          4      P                  R4      p. p\	        V P
                  4       Fu  w  rEVR8X  d+   V P                  V P                  V,          V,          4      pM.\         P                  ! V P                  V,          V,          4      pVP                  V4       Kw  	  \        V4      ^8”  d   \        V4      MV^ ,          pV P                  e   V P                  W&4      w  r&W&3# )zþ
Args:
    index (int): Index
Returns:
    tuple: (image, target) where target is a tuple of all target types if target_type is a list with more
    than one item. Otherwise, target is a json object if target_type="polygon", else the image segmentation.
ÚRGBrS   )r	   Úopenr\   ÚconvertÚ	enumerater8   Ú
_load_jsonr]   rd   Úlenrw   r;   )re   ru   Úimager]   Úirp   Útargets   &&     rA   Ú__getitem__ÚCityscapes.__getitem__¯   sË   € ô —
’
˜4Ÿ;™; uÕ-Ó.×6Ñ6°uÓ=ˆàˆÜ˜d×.Ñ.Ö/‰DˆAØ�IŒ~ØŸ™¨¯©°eÕ)<¸QÕ)?Ó@‘äŸš D§L¡L°Õ$7¸Õ$:Ó;�à�N‰N˜6Ö"ñ 0ô $' w£<°!Ô#3”�w”¸À½ˆà�?‰?Ò&Ø ŸO™O¨EÓ:‰MˆEàˆ}ÐrD   c                ó    <€ V ^8„  d   QhRS[ /# ©r4   r<   )rv   )r?   r@   s   "€rA   rB   rC   Ê   s   ø€ ÷  ñ  ™ñ  rD   c                ó,   € \        V P                  4      # ©N)r~   r\   )re   s   &rA   Ú__len__ÚCityscapes.__len__Ê   s   € Ü�4—;‘;ÓÐrD   c                ó    <€ V ^8„  d   QhRS[ /# r…   ©r=   )r?   r@   s   "€rA   rB   rC   Í   s   ø€ ÷ 8ñ 8™Cñ 8rD   c                ó`   € . ROpRP                  V4      P                  ! R/ V P                  B # )úSplit: {split}Ú
)r�   zMode: {mode}zType: {target_type}© )rY   r?   Ú__dict__)re   Úliness   & rA   Ú
extra_reprÚCityscapes.extra_reprÍ   s(   € ÚIˆØ�y‰y˜Ó×&Ò&Ñ7¨¯©Ñ7Ð7rD   c                ó<   <€ V ^8„  d   QhRS[ RS[S[ S[3,          /# )r4   rX   r<   )r=   Údictr   )r?   r@   s   "€rA   rB   rC   Ñ   s#   ø€ ÷ ñ ™sð ¡t©C±¨H¥~ñ rD   c                ó’   € \        V4      ;_uu_ 4       p\        P                  ! V4      pR R R 4       V#   + '       g   i     X# ; ir‡   )rz   ÚjsonÚload)re   rX   ÚfileÚdatas   &&  rA   r}   ÚCityscapes._load_jsonÑ   s1   € Ü�$�ZŒZ˜4Ü—9’9˜T“?ˆD÷ àˆ÷ ŽZàˆús	   ”5µA	c                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r4   r7   r8   r<   r‹   )r?   r@   s   "€rA   rB   rC   Ö   s"   ø€ ÷ +ñ +¡sð +¹ð +Áñ +rD   c                óT   € VR 8X  d   V R2# VR8X  d   V R2# VR8X  d   V R2# V R2# )rQ   z_instanceIds.pngrR   z_labelIds.pngrT   z
_color.pngz_polygons.jsonr�   )re   r7   r8   s   &&&rA   rc   ÚCityscapes._get_target_suffixÖ   sO   € Ø˜*Ô$Ø�VÐ+Ð,Ð,Ø˜JÔ&Ø�V˜=Ð)Ð)Ø˜GÔ#Ø�V˜:Ð&Ð&à�V˜>Ð*Ð*rD   )r\   rZ   r7   r6   r8   r]   r[   )ÚnameÚidÚtrain_idÚcategoryÚcategory_idÚhas_instancesÚignore_in_evalrT   )r   r   r   )éo   éJ   r   )éQ   r   r¨   )é€   é@   r©   )éô   é#   éè   )éú   éª   é    )éæ   é–   éŒ   )éF   r´   r´   )éf   rµ   éœ   )é¾   é™   r¸   )é´   é¥   r¹   )r²   éd   r»   )r²   éx   éZ   )r¸   r¸   r¸   )r®   r¯   é   )éÜ   r¿   r   )ék   éŽ   r¬   )é˜   éû   rÂ   )r´   é‚   r¹   )r¿   é   é<   )éÿ   r   r   )r   r   rÁ   )r   r   r´   )r   rÆ   r»   )r   r   r½   )r   r   én   )r   éP   r»   )r   r   r±   )éw   é   é    éÿÿÿÿ)r0   rF   rQ   NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   ÚclassesrV   r‚   rˆ   r’   r}   rc   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)rr   r@   s   @@rA   r   r      sf  ù‡ € ñ-ñ` !ØÚió€Oð
$Ù˜ Q¨¨V°Q¸¸tÀYÓOð$á˜ q¨#¨v°q¸%ÀÀyÓQð$ñ 	Ð.°°3¸ÀÀ5È$ÐPYÓZð$ñ 	˜ a¨¨f°a¸ÀÀiÓPð	$ñ
 	˜ ! S¨&°!°U¸DÀ)ÓLð$ñ 	˜	 1 c¨6°1°e¸TÀ<ÓPð$ñ 	˜ ! S¨&°!°U¸DÀ+ÓNð$ñ 	˜  1 f¨a°¸¸~ÓNð$ñ 	˜
 A q¨&°!°U¸EÀ>ÓRð$ñ 	˜	 1 c¨6°1°e¸TÀ?ÓSð$ñ 	˜ b¨#¨v°q¸%ÀÀÓWð$ñ 	˜
 B¨¨>¸1¸eÀUÈLÓYð$ñ 	˜  A ~°q¸%ÀÈÓXð$ñ 	˜  Q¨¸¸5À%ÈÓYð$ñ 	˜ b¨#¨~¸qÀ%ÈÈÓ_ð$ñ  	˜ " c¨>¸1¸eÀTÈ?Ó[ð!$ñ" 	˜ " c¨>¸1¸eÀTÈ>ÓZð#$ñ$ 	˜  A x°°E¸5À/ÓRð%$ñ& 	˜ R¨¨h¸¸5À$ÈÓXð'$ñ( 	˜¨¨Q°¸!¸UÀEÈ>ÓZð)$ñ* 	˜¨¨A¨x¸¸EÀ5È-ÓXð+$ñ, 	˜ b¨!¨X°q¸%ÀÈÓWð-$ñ. 	˜	 2 q¨(°A°u¸eÀ_ÓUð/$ñ0 	˜˜r 2 u¨a°¸¸~ÓNð1$ñ2 	˜ " b¨'°1°d¸EÀ=ÓQð3$ñ4 	˜  R¨°!°T¸5À+ÓNð5$ñ6 	˜˜r 2 y°!°T¸5À+ÓNð7$ñ8 	˜  R¨°A°t¸UÀJÓOð9$ñ: 	˜˜r 2 y°!°T¸5À,ÓOð;$ñ< 	˜	 2 s¨I°q¸$ÀÀjÓQð=$ñ> 	˜	 2 s¨I°q¸$ÀÀkÓRð?$ñ@ 	˜  R¨°A°t¸UÀLÓQðA$ñB 	˜ b¨"¨i¸¸DÀ%ÈÓUðC$ñD 	˜	 2 r¨9°a¸¸uÀmÓTðE$ñF 	˜¨¨R°¸A¸uÀdÈKÓXðG$€G÷LD2õ D2÷Lð ÷6 ð  ÷8ð 8÷ð ÷
+÷ +ð +rD   r   )r—   rW   Úcollectionsr   Úpathlibr   Útypingr   r   r   r   ÚPILr	   Úutilsr
   r   r   Úvisionr   r   r�   rD   rA   Ú<module>rÝ      s1   ðÛ Û 	Ý "Ý ß 1Ó 1å ç CÑ CÝ !ôQ+�ö Q+rD   