
    j                     T    d dl Z d dlmZ d dlmZ ddlmZ dgZ G d de          ZdS )    N)Any)tqdm   )AbstractDatasetMJSynthc                   P     e Zd ZdZg dZ	 ddededededd	f
 fd
ZdefdZ	 xZ
S )r   aL  MJSynth dataset from `"Synthetic Data and Artificial Neural Networks for Natural Scene Text Recognition"
    <https://www.robots.ox.ac.uk/~vgg/data/text/>`_.

    >>> # NOTE: This is a pure recognition dataset without bounding box labels.
    >>> # NOTE: You need to download the dataset.
    >>> from doctr.datasets import MJSynth
    >>> train_set = MJSynth(img_folder="/path/to/mjsynth/mnt/ramdisk/max/90kDICT32px",
    >>>                     label_path="/path/to/mjsynth/mnt/ramdisk/max/90kDICT32px/imlist.txt",
    >>>                     train=True)
    >>> img, target = train_set[0]
    >>> test_set = MJSynth(img_folder="/path/to/mjsynth/mnt/ramdisk/max/90kDICT32px",
    >>>                    label_path="/path/to/mjsynth/mnt/ramdisk/max/90kDICT32px/imlist.txt")
    >>>                    train=False)
    >>> img, target = test_set[0]

    Args:
        img_folder: folder with all the images of the dataset
        label_path: path to the file with the labels
        train: whether the subset should be the training one
        **kwargs: keyword arguments from `AbstractDataset`.
    ) z ./1881/4/225_Marbling_46673.jpg
z ./2069/4/192_whittier_86389.jpg
z./869/4/234_TRIASSIC_80582.jpg
z ./173/2/358_BURROWING_10395.jpg
z./913/4/231_randoms_62372.jpg
z./596/2/372_Ump_81662.jpg
z!./936/2/375_LOCALITIES_44992.jpg
z ./2540/4/246_SQUAMOUS_73902.jpg
z ./1332/4/224_TETHERED_78397.jpg
z"./627/6/83_PATRIARCHATE_55931.jpg
z./2013/2/370_refract_63890.jpg
z ./2911/6/77_heretical_35885.jpg
z./1730/2/361_HEREON_35880.jpg
z$./2194/2/334_EFFLORESCENT_24742.jpg
z ./2025/2/364_SNORTERS_72304.jpg
z./368/4/232_friar_30876.jpg
z./275/6/96_hackle_34465.jpg
z./384/4/220_bolts_8596.jpg
z"./905/4/234_Postscripts_59142.jpg
z./2749/6/101_Chided_13155.jpg
z./495/6/81_MIDYEAR_48332.jpg
z./2852/6/60_TOILSOME_79481.jpg
z&./554/2/366_Teleconferences_77948.jpg
z./1696/4/211_Queened_61779.jpg
z ./2128/2/369_REDACTED_63458.jpg
z./2557/2/351_DOWN_23492.jpg
z./2489/4/221_snored_72290.jpg
z./1650/2/355_stony_74902.jpg
z"./1863/4/223_Diligently_21672.jpg
z ./264/2/362_FORETASTE_30276.jpg
z ./429/4/208_Mainmasts_46140.jpg
z./1817/2/363_actuating_904.jpg
T
img_folder
label_pathtrainkwargsreturnNc                     t                      j        |fi | t          j                            |          rt          j                            |          s3t          dt          j                            |          s|n|           g | _        || _        t          |          5 }|	                                }d d d            n# 1 swxY w Y   t          t          |          dz            }| j        rt          |          nt          |d           }t          ||         dt          ||                             D ]|}	|	| j        vrq|	                    d          d         }
t          j                            ||	dd                                                    }| j                            ||
f           }d S )Nzunable to locate g?zPreparing and Loading MJSynth)iterabledesctotal_r      )super__init__ospathexistsFileNotFoundErrordatar   open	readlinesintlenslicer   	BLACKLISTsplitjoinstripappend)selfr	   r
   r   r   f	img_pathstrain_samples	set_slicer   labelimg_path	__class__s               Y/var/www/html/Carbon-Document/venv/lib/python3.11/site-packages/doctr/datasets/mjsynth.pyr   zMJSynth.__init__K   s    	..v... w~~j)) 	x
1K1K 	x#$v"'..YcJdJd8t

jt$v$vwww+-	
* 	&I	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& 	& C	NNS011,0JVE-(((E-QU<V<V	y)0OWZ[den[oWpWp
 
 
 	4 	4D 4>))

3*7<<
DH==CCEE	  (E!2333	4 	4s   *CCCc                     d| j          S )Nztrain=)r   )r%   s    r-   
extra_reprzMJSynth.extra_reprj   s    $
$$$    )T)__name__
__module____qualname____doc__r    strboolr   r   r/   __classcell__)r,   s   @r-   r   r      s         .! ! !IN 	4 44 4 	4
 4 
4 4 4 4 4 4>%C % % % % % % % %r0   )r   typingr   r   datasetsr   __all__r    r0   r-   <module>r<      s    
			             % % % % % %+[% [% [% [% [%o [% [% [% [% [%r0   