diff --git a/cameratransform/google.png b/cameratransform/google.png
deleted file mode 100644
index b714561..0000000
Binary files a/cameratransform/google.png and /dev/null differ
diff --git a/cameratransform/topview.py b/cameratransform/topview.py
deleted file mode 100644
index cbd4e73..0000000
--- a/cameratransform/topview.py
+++ /dev/null
@@ -1,58 +0,0 @@
-import matplotlib.pyplot as plt
-import matplotlib.image as mpimg
-import numpy as np
-
-image_path = "cameratransform/google.png"
-
-from scipy.ndimage import map_coordinates
-
-def simulate_top_view(image_path, inclination=0, rotation=0):
- # Charger l'image
- img = mpimg.imread(image_path)
-
- # Dimensions de l'image
- height, width, _ = img.shape
-
- # Créer une grille d'indices pour les pixels de l'image
- y, x = np.indices((height, width))
-
- # Convertir les coordonnées x, y en coordonnées polaires
- r = np.sqrt((x - width / 2) ** 2 + (y - height / 2) ** 2)
- theta = np.arctan2(y - height / 2, x - width / 2)
-
- # Ajuster l'inclinaison et la rotation
- r_adjusted = r * np.cos(np.deg2rad(inclination))
- theta_adjusted = theta + np.deg2rad(rotation)
-
- # Convertir les coordonnées polaires ajustées en coordonnées cartésiennes
- x_adjusted = width / 2 + r_adjusted * np.cos(theta_adjusted)
- y_adjusted = height / 2 + r_adjusted * np.sin(theta_adjusted)
-
- # Interpolation bilinéaire pour obtenir les nouvelles valeurs de pixel
- coordinates = np.vstack((y_adjusted.flatten(), x_adjusted.flatten()))
- simulated_img = np.zeros_like(img)
- for c in range(3): # Canal de couleur (R, G, B)
- simulated_img[:, :, c] = map_coordinates(img[:, :, c], coordinates, order=1).reshape(img.shape[:2])
-
- return simulated_img
-
-# Chemin vers votre image
-
-# Paramètres de simulation (inclinaison et rotation en degrés)
-inclination_degrees = 30
-rotation_degrees = 45
-
-# Simulation de la vue de dessus avec les paramètres donnés
-simulated_image = simulate_top_view(image_path, inclination=inclination_degrees, rotation=rotation_degrees)
-
-# Afficher l'image originale et l'image simulée côte à côte
-fig, axes = plt.subplots(1, 2, figsize=(10, 5))
-axes[0].imshow(mpimg.imread(image_path))
-axes[0].set_title("Image originale")
-axes[0].axis("off")
-
-axes[1].imshow(simulated_image)
-axes[1].set_title("Vue de dessus simulée")
-axes[1].axis("off")
-
-plt.show()
\ No newline at end of file
diff --git a/cams/new/extract + calibrated.py b/cams/new/extract + calibrated.py
new file mode 100644
index 0000000..fffdd9c
--- /dev/null
+++ b/cams/new/extract + calibrated.py
@@ -0,0 +1,110 @@
+import pandas as pd
+import numpy as np
+import cv2
+import matplotlib.pyplot as plt
+from scipy.optimize import least_squares
+from imageio import imread
+import cameratransform as ct
+
+cap = cv2.VideoCapture('cams/new/cut2.mp4')
+folder_path = "track/expgood/labels/"
+name = 'cut2'
+fps = 780
+
+allfiles = []
+for i in range(1, fps+1):
+ allfiles.append(folder_path + name + '_' + str(i) + '.txt')
+
+# Set the desired dimensions for displaying the video
+display_width = 1280
+display_height = 720
+
+display_width = 1920
+display_height = 1080
+
+width = 1920
+height = 1080
+
+frame_nb = 0
+
+bleu = (255, 0, 0)
+vert = (0, 255, 0)
+
+# # Cam part
+# img = cv2.imread("track/Sylvain/stage_Noham/stage_Noham/image_vide_pts.png")
+# nh,nw,_ = img.shape
+
+res = np.array([ 3.99594676, 3.53413555, 4.55 , 16.41739973, 74.96395791, 49.11271189, 2.79384615])
+image_size = (width,height)
+cam = ct.Camera(ct.RectilinearProjection(focallength_mm=res[0], sensor=(res[1],res[2]), image=image_size),
+ ct.SpatialOrientation(elevation_m=res[3], tilt_deg=res[4], heading_deg = res[5], roll_deg = res[6] ) )
+
+
+if not cap.isOpened():
+ print("Error opening video stream or file")
+
+while cap.isOpened():
+ ret, frame = cap.read()
+ if ret:
+ df = pd.read_csv(allfiles[frame_nb], header=None, sep=' ')
+ ind_px_ground_pts = []
+ for index, row in df.iterrows():
+ class_id, center_x, center_y, bbox_width, bbox_height, object_id = row
+
+ center_x = int(center_x * width)
+ center_y = int(center_y * height)
+ bbox_width = int(bbox_width * width)
+ bbox_height = int(bbox_height * height)
+
+ top_left_x = int(center_x - bbox_width / 2)
+ top_left_y = int(center_y - bbox_height / 2)
+ bottom_right_x = int(center_x + bbox_width / 2)
+ bottom_right_y = int(center_y + bbox_height / 2)
+
+ # (19;112) à (636;714) et (86;86) à (1087;715)
+ if (((112-714)/(19-636)) * top_left_x + 112 - ((112-714)/(19-636)) *19 > top_left_y ) and (((86-715)/(86-1097)) * bottom_right_x + 112 - ((86-715)/(86-1097)) *86 < bottom_right_y ):
+
+ label = f'Class: {int(class_id)}, Object ID: {int(object_id)}'
+ cv2.putText(frame, label, (top_left_x, top_left_y - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.5, vert, 1)
+
+ # obetnir le centre du rectangle
+ center_x = (top_left_x + bottom_right_x) // 2
+ center_y = (top_left_y + bottom_right_y) // 2
+ cv2.circle(frame, (center_x, center_y), 5, vert, -1)
+
+ ind_px_ground_pts += [center_x, center_y]
+
+
+ else :
+ pass
+ ind_px_ground_pts = np.array(ind_px_ground_pts)
+
+ px_ground_pts = np.vstack([ind_px_ground_pts[1],ind_px_ground_pts[0]]).T
+ print(px_ground_pts)
+
+ space_pts = []
+ for pt in px_ground_pts:
+ space_pts.append(cam.spaceFromImage(pt))
+ space_pts = np.array(space_pts)
+
+ # resized_frame = cv2.resize(frame, (display_width, display_height))
+ # cv2.imshow('Frame', resized_frame)
+ # plt.figure()
+
+#######################
+ plt.scatter(space_pts[:,0], space_pts[:,1], color="red", s=2)
+ plt.plot([28.569, 51.681],[26.665, 89.904], color='blue', linestyle='-', linewidth=1)
+ # plt.axis("equal")
+ plt.xlim([0, 100])
+ plt.ylim([0, 150])
+ plt.draw()
+ plt.pause(0.0000000000001)
+ plt.clf()
+######################
+
+ if cv2.waitKey(25) & 0xFF == ord('q'):break
+ frame_nb = frame_nb + 1
+ else:break
+
+cap.release()
+cv2.destroyAllWindows()
\ No newline at end of file
diff --git a/track/Sylvain/ImmersionTemplate.zip b/track/Sylvain/ImmersionTemplate.zip
new file mode 100644
index 0000000..9b3320c
Binary files /dev/null and b/track/Sylvain/ImmersionTemplate.zip differ
diff --git a/track/Sylvain/ImmersionTemplate/ImmersionTemplate/logo-ups.png b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/logo-ups.png
new file mode 100644
index 0000000..60a6005
Binary files /dev/null and b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/logo-ups.png differ
diff --git a/track/Sylvain/ImmersionTemplate/ImmersionTemplate/rapport.pdf b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/rapport.pdf
new file mode 100644
index 0000000..09279dc
Binary files /dev/null and b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/rapport.pdf differ
diff --git a/track/Sylvain/ImmersionTemplate/ImmersionTemplate/rapport.tex b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/rapport.tex
new file mode 100644
index 0000000..e6acdda
--- /dev/null
+++ b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/rapport.tex
@@ -0,0 +1,182 @@
+\documentclass[a4paper]{article}
+\usepackage[margin=25mm]{geometry}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{graphicx}
+\pagenumbering{gobble}
+\usepackage{verbatim}
+\usepackage[utf8]{inputenc}
+\usepackage[french,english]{babel}
+\usepackage{tikz}
+\usepackage{xcolor}
+
+\newtheorem{theorem}{Th\'eor\`eme}[subsection]
+\newtheorem{proposition}{Proposition}[subsection]
+\newtheorem{definition}{D\'efinition}[subsection]
+
+\newtheorem{lemma}{Lemme}[subsection]
+\newtheorem{model}{Mod\`ele}[subsection]
+\newtheorem{algorithm}{Algorithme}[subsection]
+\newtheorem{problem}{Probl\`eme}[subsection]
+\newtheorem{remark}{Remarque}[subsection]
+
+%\newcommand{\Id}{\mathbf{Id}}
+%\newcommand{\ie}{$i. e.\ $}
+%\newcommand{\eg}{$e. g.\ $}
+%\newcommand{\st}{ such that }
+%\newcommand{\Div}{\mbox{div }}
+%\newcommand{\Curl}{\mbox{curl }}
+
+% Keywords command
+\providecommand{\keywords}[1]
+{
+ \small
+ \textbf{\textit{Keywords---}} #1
+}
+
+\title{Titre du rapport}
+
+\author{Premier Auteur$^{1}$, Second Auteur$^{2}$ \\
+ \small $^{1}$L3 LDD Informatique, Mathématiques, Université Paris-Saclay, 91405 Orsay, France \\
+ \small $^{2}$L3 LDD Mathématiques, Physique, Université Paris-Saclay, 91405 Orsay, France \\
+}
+
+\date{} % Comment this line to show today's date
+
+
+\makeindex
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{document}
+\selectlanguage{french}
+
+\maketitle
+
+\begin{tikzpicture}[overlay,yshift=5cm, xshift=13.4cm]
+ \pgftext{\includegraphics[width=90pt]{logo-ups.png}}
+\end{tikzpicture}
+
+\begin{abstract}
+{\color{blue}Résumé en français...}
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pretium libero non odio tincidunt semper. Vivamus sollicitudin egestas mattis. Sed vitae risus vel ex tincidunt molestie nec vel leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas quis massa tincidunt, faucibus magna non, fringilla sapien. In ullamcorper justo a scelerisque egestas. Ut maximus, elit a rutrum viverra, lectus sapien varius est, vel tempor neque mi et augue. Fusce ornare venenatis nunc nec feugiat. Proin a enim mauris. Mauris dignissim vulputate erat, vitae cursus risus elementum at. Cras luctus pharetra congue. Aliquam id est dictum, finibus ligula sed, tempus arcu.
+\end{abstract}
+\hspace{10pt}
+
+\selectlanguage{english}
+\begin{abstract}
+{\color{blue}Abstract in English... }
+Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum pretium libero non odio tincidunt semper. Vivamus sollicitudin egestas mattis. Sed vitae risus vel ex tincidunt molestie nec vel leo. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Maecenas quis massa tincidunt, faucibus magna non, fringilla sapien. In ullamcorper justo a scelerisque egestas. Ut maximus, elit a rutrum viverra, lectus sapien varius est, vel tempor neque mi et augue. Fusce ornare venenatis nunc nec feugiat. Proin a enim mauris. Mauris dignissim vulputate erat, vitae cursus risus elementum at. Cras luctus pharetra congue. Aliquam id est dictum, finibus ligula sed, tempus arcu.
+\end{abstract}
+\selectlanguage{french}
+
+
+%TC:ignore
+\keywords{mot clé; mot clé; mot clé}
+
+\clearpage
+
+\section{Introduction}
+
+Aenean tellus orci, accumsan $i$ nec neque at, vestibulum eleifend elit \cite{helbing09,SchadCA09} ({\color{blue}bien cité dans le texte de l'article toute référence présente dans la bibliographie}) Sed luctus enim dui, in fermentum $j$ dui pharetra at. Fusce vel nisl et diam feugiat porttitor et at libero. Maecenas scelerisque varius mauris non euismod. Nulla eget cursus leo. Integer interdum lacus vel ligula maximus, at feugiat orci porttitor. Suspendisse egestas, lorem a \index{elementum} lobortis, tellus mauris hendrerit nunc, sed vestibulum mi velit quis risus. Mauris gravida mi et ullamcorper blandit. Aenean lacinia, quam id tempus interdum, massa orci rhoncus turpis, eu finibus nisi lectus id sem. Vivamus ut mauris sed diam porta viverra sit amet quis risus (\cite{Zuriguel09}).
+
+Nam id ornare dolor. Nulla metus enim, venenatis vel dui ac, accumsan vehicula est. Suspendisse luctus eros et velit eleifend, nec finibus ante rutrum. Interdum et malesuada fames ac ante ipsum primis {\em systemic} in faucibus. Vivamus tempor lorem turpis, nec venenatis turpis venenatis nec. Integer hendrerit at mi nec aliquet. Vestibulum auctor arcu scelerisque lacus rhoncus ornare. Vivamus convallis libero nulla, vitae ullamcorper mauris venenatis nec. Donec elementum ligula non tortor \index{pellentesque} finibus.
+
+Vestibulum mauris odio, scelerisque ut nisi ut, tincidunt maximus eros. Fusce tempor ex non mi commodo consectetur. Sed sit amet massa id elit commodo bibendum. Nunc id neque tempus erat tempus dictum. Fusce mi leo, hendrerit in egestas sed, faucibus vel ex. In hac habitasse platea dictumst. Vivamus eget odio arcu. Ut finibus et lacus ac interdum. Donec consectetur dolor neque, vel condimentum nunc varius nec. Mauris sapien dolor, aliquam nec vulputate at, fermentum vel nulla. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nam posuere vulputate vestibulum.
+
+\section{Première section}
+
+Integer iaculis vitae nisi mollis congue. Cras sed facilisis tortor. Aliquam quis neque ipsum. Proin et accumsan arcu. Donec sit amet nibh lacus. Vestibulum mattis arcu sed ante \index{vestibulum} condimentum. Nunc auctor ligula vel velit finibus imperdiet. Cras consequat ipsum quis rhoncus consequat. Etiam luctus purus turpis, quis tempor massa posuere non. Donec vitae $\Phi$ ex in ligula ultricies feugiat. Sed urna sem, rutrum at tempus vel, mollis vel magna. Etiam ex est, pulvinar et risus at, facilisis efficitur turpis. Etiam egestas est a erat elementum, vitae porta lectus finibus. Donec ac consequat sapien. Aenean sed eros a est blandit dictum.\\
+{\color{blue}Equation numérotée pouvant être citée (\ref{eq:eq1}) : }
+\begin{equation}
+\label{eq:eq1}
+( a + b )^2 = a^2 + b^2 + 2 a b.
+\end{equation}
+
+\noindent{\color{blue}Système d'équations : }
+\begin{eqnarray}
+\label{eq:eq2}
+( a + b )^2 &=& a^2 + b^2 + 2 a b,\\
+( a - b )^2 &=& a^2 + b^2 - 2 a b.
+\end{eqnarray}
+
+
+
+Quisque in dui porttitor, finibus lacus quis, pretium dui. Nullam vitae augue ligula. Nulla vel nisl tincidunt, ullamcorper enim nec, sollicitudin justo. Praesent vitae ex elit. Sed placerat velit a lectus fringilla, in tempor lorem efficitur. Maecenas mattis $n = 1,\dots,m_i$, tellus ipsum, a laoreet quam aliquam eu. Donec eu interdum lectus. Morbi suscipit nibh (\ref{eq:eq1})sed enim interdum, eget aliquam odio ullamcorper. Sed at mauris maximus, mollis mi ut, dapibus mauris. Morbi efficitur ultricies massa, et vulputate est pellentesque nec $\alpha_i^n$. Curabitur rutrum ullamcorper efficitur. Curabitur vestibulum consequat orci quis dapibus. Ut a ullamcorper tellus. Proin fermentum malesuada dui ac mollis. Mauris volutpat finibus lacus et placerat. \\
+{\color{blue}Equation non numérotée : }
+\begin{equation*}
+( a - b )^2 = a^2 + b^2 - 2 a b.
+\end{equation*}
+
+\section{Seconde section}
+
+\subsection{Première sous-section}
+
+Curabitur nulla libero, viverra at tempus vitae, ornare ac metus. Nullam sed imperdiet erat, a vestibulum arcu. Sed non nisi cursus, sagittis libero in, pellentesque est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed congue turpis ligula, et tristique neque scelerisque sit amet. Vivamus neque est, pharetra eu libero at, tincidunt feugiat augue.
+
+\begin{definition}
+On appelle...
+\end{definition}
+
+
+\subsection{Seconde sous-section}
+
+\begin{theorem}
+Soit une fonction $\Phi$...
+\end{theorem}
+
+\begin{lemma}
+Soit $x \in \mathbf{R}$,...
+\end{lemma}
+
+\begin{remark}
+On remarque que...
+\end{remark}
+
+Morbi mollis sapien nisi, non fringilla felis placerat vitae. Donec ac enim justo. Cras placerat purus vel ex volutpat, eget placerat lorem fermentum. Duis quam risus, eleifend quis iaculis eu, efficitur at nisl. Pellentesque pharetra dui nisi, sit amet sodales mi hendrerit nec. Nullam et gravida lorem, ut faucibus dolor. Mauris bibendum pulvinar tortor, eget consequat nulla luctus eget.
+
+\begin{figure}[t]
+ \begin{center}
+ \includegraphics[width=0.295\linewidth]{terre.png}
+
+ \end{center}
+ \caption{La Terre}
+\label{fig:fig1}
+\end{figure}
+
+{\color{blue}Bien penser à citer et à commenter toutes les figures du texte : (Figure \ref{fig:fig1})}
+Quisque in dui porttitor, finibus lacus quis, pretium dui. Nullam vitae augue ligula. Nulla vel nisl tincidunt, ullamcorper enim nec, sollicitudin justo. Praesent vitae ex elit. Sed placerat velit a lectus fringilla, in tempor lorem efficitur. Maecenas mattis tellus ipsum, a laoreet quam aliquam eu. Donec eu interdum lectus. Morbi suscipit nibh sed enim interdum, eget aliquam odio ullamcorper. Sed at
+
+\section{Conclusion}
+
+Curabitur nulla libero, viverra at tempus vitae, ornare ac metus. Nullam sed imperdiet erat, a vestibulum arcu. Sed non nisi cursus, sagittis libero in, pellentesque est. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Interdum et malesuada fames ac ante ipsum primis in faucibus. Sed congue turpis ligula, et tristique neque scelerisque sit amet. Vivamus neque est, pharetra eu libero at, tincidunt feugiat augue.
+
+\section*{Remerciements}
+
+Les auteurs de ce document remercient vivement...
+
+
+\begin{thebibliography}{99}
+
+\bibitem{helbing09}
+D. Helbing,
+A. Johansson,
+Pedestrian, Crowd and Evacuation Dynamics,
+\emph{Encyclopedia of Complexity and Systems Science},
+pp. 6476--6495, Springer New York.
+
+\bibitem{SchadCA09}
+A. Schadschneider, A. Seyfried, Empirical results for pedestrian dynamics and their implications for cellular automata models,
+in``Pedestrian Behavior'', Ed.: H. Timmermans, Emerald, p. 27 (2009).
+
+\bibitem{Zuriguel09}
+I. Zuriguel, J. Olivares, J.M. Pastor, C. Mart\'in-G\'omez, L.M. Ferrer, J.J. Ramos, A. Garcimart\'in,
+Effect of obstacle position in the flow of sheep through a narrow door,
+\emph{Phys. Rev. E}, 94.
+
+\end{thebibliography}
+
+
+
+
+\end{document}
diff --git a/track/Sylvain/ImmersionTemplate/ImmersionTemplate/terre.png b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/terre.png
new file mode 100644
index 0000000..0b6a71e
Binary files /dev/null and b/track/Sylvain/ImmersionTemplate/ImmersionTemplate/terre.png differ
diff --git a/track/Sylvain/stage_Noham.zip b/track/Sylvain/stage_Noham.zip
new file mode 100644
index 0000000..80190dd
Binary files /dev/null and b/track/Sylvain/stage_Noham.zip differ
diff --git a/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/HomoGraphie.iml b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/HomoGraphie.iml
new file mode 100644
index 0000000..6711606
--- /dev/null
+++ b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/HomoGraphie.iml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/misc.xml b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/misc.xml
new file mode 100644
index 0000000..65531ca
--- /dev/null
+++ b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/modules.xml b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/modules.xml
new file mode 100644
index 0000000..eeab053
--- /dev/null
+++ b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/workspace.xml b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/workspace.xml
new file mode 100644
index 0000000..398935b
--- /dev/null
+++ b/track/Sylvain/stage_Noham/stage_Noham/HomographyCalibration2/HomoGraphie/.idea/workspace.xml
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pts_dst
+
+
+
+