o
    Ďi	                     @   sx   d dl Z d dlZd dlmZ d dlmZmZ 					dd	ed
edede	de
dede	fddZedkr:ee dS dS )    N)
slice_coco)Path	save_json   皙?Fruns/slice_coco皙?	image_dirdataset_json_path
slice_sizeoverlap_ratioignore_negative_samples
output_dirmin_area_ratioc                 C   s   |}t |ttfr|g}td |D ]\}t|jd|dt|dd  }tt|| }	t|jdd|dt|dd }
t	|| d|	||||||ddd	\}}t
j||
d }t|| td
| d|  qdS )a
  
    Args:
        image_dir (str): directory for coco images
        dataset_json_path (str): file path for the coco dataset json file
        slice_size (int)
        overlap_ratio (float): slice overlap ratio
        ignore_negative_samples (bool): ignore images without annotation
        output_dir (str): output export dir
        min_area_ratio (float): If the cropped annotation area to original
            annotation ratio is smaller than this value, the annotation
            is filtered out. Default 0.1.
    zSlicing step is starting..._images__. z.jsonz.jpgF)coco_annotation_file_pathr	    output_coco_annotation_file_namer   r   slice_heightslice_widthr   overlap_height_ratiooverlap_width_ratioout_extverbosez Sliced dataset for 'slice_size: z' is exported to N)
isinstanceintfloatprintr   stemstrreplacenamer   ospathjoinr   )r	   r
   r   r   r   r   r   slice_size_listoutput_images_folder_nameoutput_images_dirsliced_coco_name	coco_dictr    output_coco_annotation_file_path r-   S/home/jeff/fluffinator/venv/lib/python3.10/site-packages/sahi/scripts/slice_coco.pyslicer	   s:   $


r/   __main__)r   r   Fr   r   )r$   firesahi.slicingr   sahi.utils.filer   r   r!   r   r   boolr/   __name__Fireslicer-   r-   r-   r.   <module>   s6    
9