@@ -209,6 +209,12 @@ def get_ping_param(self, name, use_x_coordinates=False):
209209
210210 return x_coordinates , return_param
211211
212+ def get_x_kwargs (self ):
213+ return deepcopy (self .__x_kwargs )
214+
215+ def get_y_kwargs (self ):
216+ return deepcopy (self .__y_kwargs )
217+
212218 @classmethod
213219 def from_pings (
214220 cls ,
@@ -284,7 +290,9 @@ def from_pings(
284290 # sel_bottom = pss.apply_selection(ping.bottom)
285291 # bd = np.nanmin(p.bottom.get_xyz(sel_bottom).z) + p.get_geolocation().z
286292 # this is incorrect
287- br = np .nanquantile (ping .bottom .get_xyz (sel ).z , 0.05 )
293+
294+ # br = np.nanquantile(ping.bottom.get_xyz(sel).z, 0.05)
295+ br = ping .bottom .get_bottom_z (sel )
288296 # mr = np.nanquantile(ping.watercolumn.get_bottom_range_samples(), 0.05) * range_res * angle_factor
289297 mr = ping .watercolumn .get_minslant_sample_nr () * range_res * angle_factor
290298 bottom_d_times .append (times [nr ])
@@ -371,8 +379,8 @@ def reinit(self):
371379 if self .initialized :
372380 return
373381
374- self .y_axis_function (** self .y_kwargs )
375- self .x_axis_function (** self .x_kwargs )
382+ self .y_axis_function (** self .__y_kwargs )
383+ self .x_axis_function (** self .__x_kwargs )
376384
377385 def set_y_coordinates (self , name , y_coordinates , y_resolution , vec_min_y , vec_max_y ):
378386 assert (
@@ -552,23 +560,23 @@ def get_filtered_by_y_extent(self, vec_x_val, vec_min_y, vec_max_y):
552560 def copy_xy_axis (self , other ):
553561 match self .x_axis_name :
554562 case "Date time" :
555- other .set_x_axis_date_time (** self .x_kwargs )
563+ other .set_x_axis_date_time (** self .__x_kwargs )
556564 case "Ping time" :
557- other .set_x_axis_ping_time (** self .x_kwargs )
565+ other .set_x_axis_ping_time (** self .__x_kwargs )
558566 case "Ping number" :
559- other .set_x_axis_ping_nr (** self .x_kwargs )
567+ other .set_x_axis_ping_nr (** self .__x_kwargs )
560568 case _:
561569 raise RuntimeError (f"ERROR: unknown x axis name '{ self .x_axis_name } '" )
562570
563571 match self .y_axis_name :
564572 case "Depth (m)" :
565- other .set_y_axis_depth (** self .y_kwargs )
573+ other .set_y_axis_depth (** self .__y_kwargs )
566574 case "Range (m)" :
567- other .set_y_axis_range (** self .y_kwargs )
575+ other .set_y_axis_range (** self .__y_kwargs )
568576 case "Sample number" :
569- other .set_y_axis_sample_nr (** self .y_kwargs )
577+ other .set_y_axis_sample_nr (** self .__y_kwargs )
570578 case "Y indice" :
571- other .set_y_axis_y_indice (** self .y_kwargs )
579+ other .set_y_axis_y_indice (** self .__y_kwargs )
572580 case _:
573581 raise RuntimeError (f"ERROR: unknown y axis name '{ self .y_axis_name } '" )
574582
@@ -602,9 +610,9 @@ def set_y_axis_y_indice(
602610
603611 y_kwargs = {"min_sample_nr" : min_sample_nr , "max_sample_nr" : max_sample_nr , "max_steps" : max_steps }
604612 self .y_axis_function = self .set_y_axis_y_indice
605- if self .y_axis_name == "Y indice" and self .y_kwargs == y_kwargs :
613+ if self .y_axis_name == "Y indice" and self .__y_kwargs == y_kwargs :
606614 return
607- self .y_kwargs = y_kwargs
615+ self .__y_kwargs = y_kwargs
608616
609617 y_coordinates , y_res = self .sample_y_coordinates (
610618 vec_min_y = vec_min_y ,
@@ -628,9 +636,9 @@ def set_y_axis_depth(
628636
629637 y_kwargs = {"min_depth" : min_depth , "max_depth" : max_depth , "max_steps" : max_steps }
630638 self .y_axis_function = self .set_y_axis_depth
631- if self .y_axis_name == "Depth (m)" and self .y_kwargs == y_kwargs :
639+ if self .y_axis_name == "Depth (m)" and self .__y_kwargs == y_kwargs :
632640 return
633- self .y_kwargs = y_kwargs
641+ self .__y_kwargs = y_kwargs
634642
635643 y_coordinates , y_res = self .sample_y_coordinates (
636644 vec_min_y = self .min_depths ,
@@ -654,9 +662,9 @@ def set_y_axis_range(
654662
655663 y_kwargs = {"min_range" : min_range , "max_range" : max_range , "max_steps" : max_steps }
656664 self .y_axis_function = self .set_y_axis_range
657- if self .y_axis_name == "Range (m)" and self .y_kwargs == y_kwargs :
665+ if self .y_axis_name == "Range (m)" and self .__y_kwargs == y_kwargs :
658666 return
659- self .y_kwargs = y_kwargs
667+ self .__y_kwargs = y_kwargs
660668
661669 y_coordinates , y_res = self .sample_y_coordinates (
662670 vec_min_y = self .min_ranges ,
@@ -682,9 +690,9 @@ def set_y_axis_sample_nr(
682690
683691 y_kwargs = {"min_sample_nr" : min_sample_nr , "max_sample_nr" : max_sample_nr , "max_steps" : max_steps }
684692 self .y_axis_function = self .set_y_axis_sample_nr
685- if self .y_axis_name == "Sample number" and self .y_kwargs == y_kwargs :
693+ if self .y_axis_name == "Sample number" and self .__y_kwargs == y_kwargs :
686694 return
687- self .y_kwargs = y_kwargs
695+ self .__y_kwargs = y_kwargs
688696
689697 y_coordinates , y_res = self .sample_y_coordinates (
690698 vec_min_y = self .min_sample_nrs ,
@@ -712,10 +720,10 @@ def set_x_axis_ping_nr(
712720 }
713721
714722 self .x_axis_function = self .set_x_axis_ping_nr
715- if self .x_axis_name == "Ping number" and self .x_kwargs == x_kwargs :
723+ if self .x_axis_name == "Ping number" and self .__x_kwargs == x_kwargs :
716724 return
717725
718- self .x_kwargs = x_kwargs
726+ self .__x_kwargs = x_kwargs
719727
720728 if not np .isfinite (max_ping_nr ):
721729 max_ping_nr = np .max (self .ping_numbers )
@@ -758,10 +766,10 @@ def set_x_axis_ping_time(
758766 }
759767
760768 self .x_axis_function = self .set_x_axis_ping_time
761- if self .x_axis_name == "Ping time" and self .x_kwargs == x_kwargs :
769+ if self .x_axis_name == "Ping time" and self .__x_kwargs == x_kwargs :
762770 return
763771
764- self .x_kwargs = x_kwargs
772+ self .__x_kwargs = x_kwargs
765773
766774 if not np .isfinite (min_timestamp ):
767775 min_timestamp = np .min (self .ping_times )
@@ -823,7 +831,7 @@ def set_x_axis_date_time(
823831 }
824832
825833 self .x_axis_function = self .set_x_axis_date_time
826- if self .x_axis_name == "Date time" and self .x_kwargs == x_kwargs :
834+ if self .x_axis_name == "Date time" and self .__x_kwargs == x_kwargs :
827835 return
828836
829837 if isinstance (min_ping_time , dt .datetime ):
@@ -849,7 +857,8 @@ def set_x_axis_date_time(
849857 self .x_extent [0 ] = dt .datetime .fromtimestamp (self .x_extent [0 ], self .time_zone )
850858 self .x_extent [1 ] = dt .datetime .fromtimestamp (self .x_extent [1 ], self .time_zone )
851859 self .x_axis_name = "Date time"
852- self .x_kwargs = x_kwargs
860+ self .x_axis_function = self .set_x_axis_date_time
861+ self .__x_kwargs = x_kwargs
853862
854863 def get_y_indices (self , wci_nr ):
855864 n_samples = self .beam_sample_selections [wci_nr ].get_number_of_samples_ensemble ()
@@ -885,7 +894,7 @@ def build_image(self, progress=None):
885894 y1 , y2 = self .get_y_indices (wci_index )
886895 image [image_index , y1 ] = wci [y2 ]
887896
888- extent = self .x_extent
897+ extent = deepcopy ( self .x_extent )
889898 extent .extend (self .y_extent )
890899
891900 return image , extent
@@ -919,7 +928,7 @@ def build_image_and_layer_image(self, progress=None):
919928 if y1_layer is not None :
920929 layer_image [image_index , y1_layer ] = wci [y2_layer ]
921930
922- extent = self .x_extent
931+ extent = deepcopy ( self .x_extent )
923932 extent .extend (self .y_extent )
924933
925934 return image , layer_image , extent
@@ -955,7 +964,7 @@ def build_image_and_layer_images(self, progress=None):
955964 if y1_layer is not None :
956965 layer_images [key ][image_index , y1_layer ] = wci [y2_layer ]
957966
958- extent = self .x_extent
967+ extent = deepcopy ( self .x_extent )
959968 extent .extend (self .y_extent )
960969
961970 return image , layer_images , extent
0 commit comments