o
    ,f&                     @   s   d dl mZmZ 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d dlmZ d dlmZ dd Zdd	 Zd
d Zdd Zdd ZdddZdddZd dlmZ dddZdd ZdS )    )loadsdumps)FPDFN)Image)	PdfMergerc                 C   s2   | t |  t | t |   d }|t jS )N   )npminmaxastypeuint8)imagenormalized_image r   '/var/www/html/projet1/autopdf_helper.pyadjust_contrast   s   &r   c           
      C   s   t j|st | t| }g }d|v rEt|jD ]'}t j||d| d }|j	| }t
|}t|}	|	| || q|S t j||d }|j	}t
|}t|}	|	| || |S )NNumberOfFrames_z.jpeg)ospathexistsmakedirspydicomdcmreadranger   joinpixel_arrayr   r   	fromarraysaveappend)

input_fileoutput_folderbasefilename
dicom_dataframes_listioutput_fileframeadjusted_framer   r   r   r   	dcmToJpeg   s(   







r)   c                 C   s    g }| D ]	}| ||  q|S )N)r   )listecheminnvListefiler   r   r   ajouterCheminListeN   s   r.   c                 C   s"   t |  }dd | D }|S )Nc                 S   s   g | ]}|  qS r   )decode).0valuer   r   r   
<listcomp>[   s    z"des_seliarizer.<locals>.<listcomp>)r   encodevalues)r*   phpArray
pythonListr   r   r   des_seliarizerU   s   r7   c                 C   sL   | dkrt || d S | dks| dks| dkrt|| d S t||d d S )NUSMRCTPET )creerPDF_UScreerPDF_MR_CT_PETcreerPDF_DX_CR)modalitelisteImagesdestinationFiler   r   r   creerPDFc   s
   rC   r<   c              	   C   s  d}d}d}d}d}t | }d}	d}
t||
 }t }|  |jdd	d
 |ddd |dd |dd| t	|D ]}|j
ddddddd |j
ddddddd |	|k rk|j
| |	 ||d|d |	d7 }	|	|k r|j
| |	 || |d|d |	d7 }	|	|k r|j
| |	 |||d  d|d |	d7 }	|	|k r|j
| |	 || ||d  d|d |	d7 }	|	|k r|j
| |	 |||d  d|d |	d7 }	|	|k r|j
| |	 || ||d  d|d |	d7 }	||d k r|  q?|| d S )Ng33333cP@#   P   <   (   r      	Helvetica   size
   2   public/img/Logo-Atima.png      PNGwhtype   rT   rU            lenmathceilr   add_pageset_fontset_text_colorset_xy
multi_cellr   r   output	filesPathfileDestination	remarquesphtoSizephotoXxSpacingphotoYySpacingquantiteImagesindexDesImagesmaxDeImagesParPagenbPagespdfjr   r   r   r=   l   sP    $ $	r=   c              	   C   s  d}d}d}d}d}t | }d}	d}
t||
 }t }|  |jdd	d
 |ddd |dd |dd| t	|D ]~}|j
ddddddd |j
ddddddd |	|k rk|j
| |	 ||d|d |	d7 }	|	|k r|j
| |	 || |d|d |	d7 }	|	|k r|j
| |	 |||d  d|d |	d7 }	|	|k r|j
| |	 || ||d  d|d |	d7 }	||d k r|  q?|| d S )NrE      Z   rF   rN   r   r[   rI   rJ   rK   rM   rO   rP   rQ   rR   rS   rW   rX   rY   rZ   r\   rf   r   r   r   r>      sD    $r>   c              	   C   s8  t  }|  |jddd |ddd |dd |dd| t| D ]n\}}t|}|j	\}}|j
dddddd	d
 |j
dddddd	d
 |j|jd }	}
|	| }|
| }||k rh||9 }||9 }n||9 }||9 }|	| d }|
| d d }|j
|||||d |t| d k r|  q&|| d S )NrI   rJ   rK   r   rM   rD   rO   rQ   rR   rS         rZ   A   rX   rY   )r   r`   ra   rb   rc   rd   	enumerater   openrL   r   rT   rU   r]   re   )rg   rh   ri   rs   r%   	file_pathimg	img_width
img_height
page_widthpage_heightwidth_ratioheight_ratioxyr   r   r   r?      s4   


r?   c                 C   sZ   t  }| D ]}|| qt|d}|| W d    n1 s"w   Y  |  |S )Nwb)r   r   r{   writeclose)pdf_listoutput_pathmergerrs   r&   r   r   r   
merge_pdfs,  s   r   )r<   )phpserializer   r   fpdfr   r^   r   sysjsonr   numpyr   PILr   PyPDF2r   r   r)   r.   r7   rC   r=   r>   r?   r   r   r   r   r   <module>   s(    7
	
K;
8