sarkit-convert 0.2.0__py3-none-any.whl → 0.3.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- sarkit_convert/_utils.py +15 -18
- sarkit_convert/_version.py +1 -1
- sarkit_convert/cosmo.py +172 -178
- sarkit_convert/create_arp_poly.py +1 -1
- sarkit_convert/iceye.py +196 -291
- sarkit_convert/sentinel.py +284 -326
- sarkit_convert/terrasar.py +179 -179
- {sarkit_convert-0.2.0.dist-info → sarkit_convert-0.3.1.dist-info}/METADATA +23 -13
- sarkit_convert-0.3.1.dist-info/RECORD +14 -0
- {sarkit_convert-0.2.0.dist-info → sarkit_convert-0.3.1.dist-info}/WHEEL +1 -1
- sarkit_convert-0.2.0.dist-info/RECORD +0 -14
- {sarkit_convert-0.2.0.dist-info → sarkit_convert-0.3.1.dist-info}/entry_points.txt +0 -0
- {sarkit_convert-0.2.0.dist-info → sarkit_convert-0.3.1.dist-info}/licenses/LICENSE +0 -0
sarkit_convert/terrasar.py
CHANGED
|
@@ -19,7 +19,7 @@ import datetime
|
|
|
19
19
|
import pathlib
|
|
20
20
|
|
|
21
21
|
import dateutil.parser
|
|
22
|
-
import lxml.
|
|
22
|
+
import lxml.etree
|
|
23
23
|
import numpy as np
|
|
24
24
|
import numpy.linalg as npl
|
|
25
25
|
import numpy.polynomial.polynomial as npp
|
|
@@ -27,7 +27,6 @@ import sarkit.sicd as sksicd
|
|
|
27
27
|
import sarkit.verification
|
|
28
28
|
import sarkit.wgs84
|
|
29
29
|
import scipy.constants
|
|
30
|
-
from lxml import etree
|
|
31
30
|
|
|
32
31
|
from sarkit_convert import __version__
|
|
33
32
|
from sarkit_convert import _utils as utils
|
|
@@ -59,10 +58,6 @@ def _parse_to_naive(timestamp_str):
|
|
|
59
58
|
return dateutil.parser.parse(timestamp_str).replace(tzinfo=None)
|
|
60
59
|
|
|
61
60
|
|
|
62
|
-
def _naive_to_sicd_str(timestamp):
|
|
63
|
-
return timestamp.replace(tzinfo=None).isoformat() + "Z"
|
|
64
|
-
|
|
65
|
-
|
|
66
61
|
def _boolstr_to_bool(text):
|
|
67
62
|
return text in ("1", "true")
|
|
68
63
|
|
|
@@ -603,44 +598,45 @@ def cosar_to_sicd(
|
|
|
603
598
|
antenna_array_gain[0, 0] = 0.0
|
|
604
599
|
|
|
605
600
|
# Build XML
|
|
606
|
-
|
|
607
|
-
|
|
601
|
+
sicd_xml_obj = lxml.etree.Element(
|
|
602
|
+
f"{{{NSMAP['sicd']}}}SICD", nsmap={None: NSMAP["sicd"]}
|
|
608
603
|
)
|
|
609
|
-
sicd_xml_obj = sicd.SICD()
|
|
610
604
|
sicd_ew = sksicd.ElementWrapper(sicd_xml_obj)
|
|
611
605
|
|
|
612
|
-
sicd_ew["CollectionInfo"] =
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
606
|
+
sicd_ew["CollectionInfo"] = {
|
|
607
|
+
"CollectorName": collector_name,
|
|
608
|
+
"CoreName": core_name,
|
|
609
|
+
"CollectType": "MONOSTATIC",
|
|
610
|
+
"RadarMode": {
|
|
611
|
+
"ModeType": radar_mode_type,
|
|
612
|
+
"ModeID": radar_mode_id,
|
|
613
|
+
},
|
|
614
|
+
"Classification": classification,
|
|
615
|
+
}
|
|
616
|
+
sicd_ew["ImageCreation"] = {
|
|
617
|
+
"Application": creation_application,
|
|
618
|
+
"DateTime": creation_time,
|
|
619
|
+
}
|
|
620
|
+
sicd_ew["ImageData"] = {
|
|
621
|
+
"PixelType": COSAR_PIXEL_TYPE,
|
|
622
|
+
"NumRows": num_rows,
|
|
623
|
+
"NumCols": num_cols,
|
|
624
|
+
"FirstRow": first_row,
|
|
625
|
+
"FirstCol": first_col,
|
|
626
|
+
"FullImage": {
|
|
627
|
+
"NumRows": num_rows,
|
|
628
|
+
"NumCols": num_cols,
|
|
629
|
+
},
|
|
630
|
+
"SCPPixel": scp_pixel,
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
sicd_ew["GeoData"] = {
|
|
634
|
+
"EarthModel": "WGS_84",
|
|
635
|
+
"SCP": {
|
|
636
|
+
"ECF": scp_ecf,
|
|
637
|
+
"LLH": scp_llh,
|
|
638
|
+
},
|
|
639
|
+
}
|
|
644
640
|
|
|
645
641
|
dc_sgn = np.sign(-doppler_rate_poly[0, 0])
|
|
646
642
|
col_deltakcoa_poly = (
|
|
@@ -665,44 +661,41 @@ def cosar_to_sicd(
|
|
|
665
661
|
col_window_name = proc_param.findtext("./azimuthWindowID")
|
|
666
662
|
col_window_coeff = float(proc_param.findtext("./azimuthWindowCoefficient"))
|
|
667
663
|
|
|
668
|
-
sicd_ew["Grid"] =
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
sicd_ew["Grid"]["TimeCOAPoly"] = time_coa_poly
|
|
704
|
-
sicd_ew["Grid"]["Row"]["DeltaKCOAPoly"] = [[0]]
|
|
705
|
-
sicd_ew["Grid"]["Col"]["DeltaKCOAPoly"] = col_deltakcoa_poly
|
|
664
|
+
sicd_ew["Grid"] = {
|
|
665
|
+
"ImagePlane": "SLANT",
|
|
666
|
+
"Type": "RGZERO",
|
|
667
|
+
"TimeCOAPoly": time_coa_poly,
|
|
668
|
+
"Row": {
|
|
669
|
+
"UVectECF": u_row,
|
|
670
|
+
"SS": spacings[0],
|
|
671
|
+
"ImpRespWid": row_wid,
|
|
672
|
+
"Sgn": -1,
|
|
673
|
+
"ImpRespBW": row_bw,
|
|
674
|
+
"KCtr": center_frequency / (scipy.constants.speed_of_light / 2),
|
|
675
|
+
"DeltaK1": -row_bw / 2,
|
|
676
|
+
"DeltaK2": row_bw / 2,
|
|
677
|
+
"DeltaKCOAPoly": [[0.0]],
|
|
678
|
+
"WgtType": {
|
|
679
|
+
"WindowName": row_window_name,
|
|
680
|
+
"Parameter": [("COEFFICIENT", str(row_window_coeff))],
|
|
681
|
+
},
|
|
682
|
+
},
|
|
683
|
+
"Col": {
|
|
684
|
+
"UVectECF": u_col,
|
|
685
|
+
"SS": spacings[1],
|
|
686
|
+
"ImpRespWid": col_wid,
|
|
687
|
+
"Sgn": -1,
|
|
688
|
+
"ImpRespBW": col_bw,
|
|
689
|
+
"KCtr": 0.0,
|
|
690
|
+
"DeltaK1": dk1,
|
|
691
|
+
"DeltaK2": dk2,
|
|
692
|
+
"DeltaKCOAPoly": col_deltakcoa_poly,
|
|
693
|
+
"WgtType": {
|
|
694
|
+
"WindowName": col_window_name,
|
|
695
|
+
"Parameter": [("COEFFICIENT", str(col_window_coeff))],
|
|
696
|
+
},
|
|
697
|
+
},
|
|
698
|
+
}
|
|
706
699
|
rcs_row_sf = None
|
|
707
700
|
rcs_col_sf = None
|
|
708
701
|
if row_window_name == "Hamming":
|
|
@@ -720,84 +713,104 @@ def cosar_to_sicd(
|
|
|
720
713
|
sicd_ew["Grid"]["Col"]["ImpRespWid"] = col_wid
|
|
721
714
|
rcs_col_sf = 1 + np.var(wgts) / np.mean(wgts) ** 2
|
|
722
715
|
|
|
723
|
-
sicd_ew["Timeline"] =
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
{
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
716
|
+
sicd_ew["Timeline"] = {
|
|
717
|
+
"CollectStart": collection_start_time,
|
|
718
|
+
"CollectDuration": collection_duration,
|
|
719
|
+
"IPP": {
|
|
720
|
+
"@size": 1,
|
|
721
|
+
"Set": [
|
|
722
|
+
{
|
|
723
|
+
"@index": 1,
|
|
724
|
+
"TStart": 0,
|
|
725
|
+
"TEnd": num_pulses / prf,
|
|
726
|
+
"IPPStart": 0,
|
|
727
|
+
"IPPEnd": num_pulses - 1,
|
|
728
|
+
"IPPPoly": [0, prf],
|
|
729
|
+
}
|
|
730
|
+
],
|
|
731
|
+
},
|
|
732
|
+
}
|
|
739
733
|
|
|
740
734
|
sicd_ew["Position"]["ARPPoly"] = apc_poly
|
|
741
735
|
|
|
742
|
-
|
|
743
|
-
{"size": str(len(tx_rcv_pols))},
|
|
744
|
-
)
|
|
736
|
+
chan_parameters = []
|
|
745
737
|
for ndx, tx_rcv_pol in enumerate(tx_rcv_pols):
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
738
|
+
chan_parameters.append(
|
|
739
|
+
{
|
|
740
|
+
"@index": ndx + 1,
|
|
741
|
+
"TxRcvPolarization": tx_rcv_pol,
|
|
742
|
+
}
|
|
750
743
|
)
|
|
751
744
|
|
|
752
|
-
sicd_ew["RadarCollection"] =
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
745
|
+
sicd_ew["RadarCollection"] = {
|
|
746
|
+
"TxFrequency": {
|
|
747
|
+
"Min": tx_freq_min,
|
|
748
|
+
"Max": tx_freq_max,
|
|
749
|
+
},
|
|
750
|
+
"Waveform": {
|
|
751
|
+
"@size": 1,
|
|
752
|
+
"WFParameters": [
|
|
753
|
+
{
|
|
754
|
+
"@index": 1,
|
|
755
|
+
"TxPulseLength": tx_pulse_length,
|
|
756
|
+
"TxRFBandwidth": tx_rf_bw,
|
|
757
|
+
"TxFreqStart": tx_freq_start,
|
|
758
|
+
"TxFMRate": tx_fm_rate,
|
|
759
|
+
"RcvWindowLength": rcv_window_length,
|
|
760
|
+
"ADCSampleRate": adc_sample_rate,
|
|
761
|
+
}
|
|
762
|
+
],
|
|
763
|
+
},
|
|
764
|
+
"TxPolarization": tx_polarization,
|
|
765
|
+
"RcvChannels": {
|
|
766
|
+
"@size": len(tx_rcv_pols),
|
|
767
|
+
"ChanParameters": chan_parameters,
|
|
768
|
+
},
|
|
769
|
+
}
|
|
769
770
|
if len(tx_polarizations) > 1:
|
|
770
771
|
sicd_ew["RadarCollection"]["TxPolarization"] = "SEQUENCE"
|
|
771
|
-
|
|
772
|
+
tx_steps = []
|
|
772
773
|
for ndx, tx_pol in enumerate(tx_polarizations):
|
|
773
|
-
|
|
774
|
-
|
|
774
|
+
tx_steps.append(
|
|
775
|
+
{
|
|
776
|
+
"@index": ndx + 1,
|
|
777
|
+
"TxPolarization": tx_pol,
|
|
778
|
+
}
|
|
775
779
|
)
|
|
776
|
-
|
|
780
|
+
sicd_ew["RadarCollection"]["TxSequence"] = {
|
|
781
|
+
"@size": len(tx_polarizations),
|
|
782
|
+
"TxStep": tx_steps,
|
|
783
|
+
}
|
|
777
784
|
|
|
778
785
|
now = (
|
|
779
786
|
datetime.datetime.now(datetime.timezone.utc)
|
|
780
787
|
.isoformat(timespec="microseconds")
|
|
781
788
|
.replace("+00:00", "Z")
|
|
782
789
|
)
|
|
783
|
-
sicd_ew["ImageFormation"] =
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
790
|
+
sicd_ew["ImageFormation"] = {
|
|
791
|
+
"RcvChanProc": {
|
|
792
|
+
"NumChanProc": 1,
|
|
793
|
+
"ChanIndex": [chan_index],
|
|
794
|
+
},
|
|
795
|
+
"TxRcvPolarizationProc": tx_rcv_polarization,
|
|
796
|
+
"TStartProc": 0,
|
|
797
|
+
"TEndProc": collection_duration,
|
|
798
|
+
"TxFrequencyProc": {
|
|
799
|
+
"MinProc": tx_freq_min,
|
|
800
|
+
"MaxProc": tx_freq_max,
|
|
801
|
+
},
|
|
802
|
+
"ImageFormAlgo": "RMA",
|
|
803
|
+
"STBeamComp": st_beam_comp,
|
|
804
|
+
"ImageBeamComp": "SV",
|
|
805
|
+
"AzAutofocus": "NO",
|
|
806
|
+
"RgAutofocus": "NO",
|
|
807
|
+
"Processing": [
|
|
808
|
+
{
|
|
809
|
+
"Type": f"sarkit-convert {__version__} @ {now}",
|
|
810
|
+
"Applied": True,
|
|
811
|
+
},
|
|
812
|
+
],
|
|
813
|
+
}
|
|
801
814
|
|
|
802
815
|
sicd_ew["Antenna"]["TwoWay"]["XAxisPoly"] = ant_x_dir_poly
|
|
803
816
|
sicd_ew["Antenna"]["TwoWay"]["YAxisPoly"] = ant_y_dir_poly
|
|
@@ -809,20 +822,17 @@ def cosar_to_sicd(
|
|
|
809
822
|
dtype=float, shape=(1, 1)
|
|
810
823
|
)
|
|
811
824
|
|
|
812
|
-
sicd_ew["RMA"] =
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
sicd_ew["RMA"]["INCA"]["TimeCAPoly"] = time_ca_poly
|
|
824
|
-
sicd_ew["RMA"]["INCA"]["DRateSFPoly"] = drsf_poly
|
|
825
|
-
sicd_ew["RMA"]["INCA"]["DopCentroidPoly"] = doppler_centroid_poly
|
|
825
|
+
sicd_ew["RMA"] = {
|
|
826
|
+
"RMAlgoType": "OMEGA_K",
|
|
827
|
+
"ImageType": "INCA",
|
|
828
|
+
"INCA": {
|
|
829
|
+
"TimeCAPoly": time_ca_poly,
|
|
830
|
+
"R_CA_SCP": scp_rca,
|
|
831
|
+
"FreqZero": center_frequency,
|
|
832
|
+
"DRateSFPoly": drsf_poly,
|
|
833
|
+
"DopCentroidPoly": doppler_centroid_poly,
|
|
834
|
+
},
|
|
835
|
+
}
|
|
826
836
|
|
|
827
837
|
sicd_ew["SCPCOA"] = sksicd.compute_scp_coa(sicd_xml_obj.getroottree())
|
|
828
838
|
|
|
@@ -849,28 +859,19 @@ def cosar_to_sicd(
|
|
|
849
859
|
1e-2,
|
|
850
860
|
)
|
|
851
861
|
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
radiometric.find("./{*}SigmaZeroSFPoly"), sigmazero_poly
|
|
863
|
-
)
|
|
864
|
-
sksicd.Poly2dType().set_elem(radiometric.find("./{*}BetaZeroSFPoly"), betazero_poly)
|
|
865
|
-
sksicd.Poly2dType().set_elem(
|
|
866
|
-
radiometric.find("./{*}GammaZeroSFPoly"), gammazero_poly
|
|
867
|
-
)
|
|
862
|
+
sicd_ew["Radiometric"] = {
|
|
863
|
+
"NoiseLevel": {
|
|
864
|
+
"NoiseLevelType": "ABSOLUTE",
|
|
865
|
+
"NoisePoly": noise_poly,
|
|
866
|
+
},
|
|
867
|
+
"SigmaZeroSFPoly": sigmazero_poly,
|
|
868
|
+
"BetaZeroSFPoly": betazero_poly,
|
|
869
|
+
"GammaZeroSFPoly": gammazero_poly,
|
|
870
|
+
}
|
|
871
|
+
|
|
868
872
|
if rcs_row_sf and rcs_col_sf:
|
|
869
873
|
rcssf_poly = betazero_poly * (rcs_row_sf * rcs_col_sf / (row_bw * col_bw))
|
|
870
|
-
|
|
871
|
-
sksicd.Poly2dType().set_elem(radiometric.find("./{*}RCSSFPoly"), rcssf_poly)
|
|
872
|
-
|
|
873
|
-
sicd_xml_obj.find("./{*}Antenna").addprevious(radiometric)
|
|
874
|
+
sicd_ew["Radiometric"]["RCSSFPoly"] = rcssf_poly
|
|
874
875
|
|
|
875
876
|
# Add Geodata Corners
|
|
876
877
|
sicd_xmltree = sicd_xml_obj.getroottree()
|
|
@@ -890,13 +891,12 @@ def cosar_to_sicd(
|
|
|
890
891
|
sicd_ew["GeoData"]["ImageCorners"] = icp_llh[:, :2]
|
|
891
892
|
|
|
892
893
|
# Add RNIIRS
|
|
893
|
-
|
|
894
|
-
inf_density, pred_rniirs = utils.get_rniirs_estimate(xml_helper)
|
|
894
|
+
inf_density, pred_rniirs = utils.get_rniirs_estimate(sicd_ew)
|
|
895
895
|
sicd_ew["CollectionInfo"].add(
|
|
896
896
|
"Parameter", ("INFORMATION_DENSITY", f"{inf_density:.2g}")
|
|
897
897
|
)
|
|
898
898
|
sicd_ew["CollectionInfo"].add(
|
|
899
|
-
"Parameter", ("PREDICTED_RNIIRS", f"{pred_rniirs:.
|
|
899
|
+
"Parameter", ("PREDICTED_RNIIRS", f"{pred_rniirs:.1f}")
|
|
900
900
|
)
|
|
901
901
|
|
|
902
902
|
# Validate XML
|
|
@@ -961,7 +961,7 @@ def main(args=None):
|
|
|
961
961
|
if not config.input_xml_file.is_file():
|
|
962
962
|
raise ValueError(f"Input XML file {str(config.input_xml_file)} is not a file")
|
|
963
963
|
|
|
964
|
-
tsx_xml = etree.parse(config.input_xml_file).getroot()
|
|
964
|
+
tsx_xml = lxml.etree.parse(config.input_xml_file).getroot()
|
|
965
965
|
|
|
966
966
|
images = dict()
|
|
967
967
|
img_ndx = 1
|
|
@@ -1,37 +1,40 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: sarkit-convert
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.1
|
|
4
4
|
Summary: Python library for converting SAR data to standard formats.
|
|
5
5
|
Author-Email: Valkyrie Systems Corporation <info@govsco.com>
|
|
6
|
-
License: MIT
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
License-File: LICENSE
|
|
7
8
|
Classifier: Development Status :: 2 - Pre-Alpha
|
|
8
9
|
Classifier: Intended Audience :: Science/Research
|
|
9
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Topic :: Scientific/Engineering
|
|
11
11
|
Classifier: Programming Language :: Python
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
-
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
16
|
+
Project-URL: Repository, https://github.com/ValkyrieSystems/sarkit-convert.git
|
|
17
|
+
Project-URL: Bug Tracker, https://github.com/ValkyrieSystems/sarkit-convert/issues
|
|
18
|
+
Project-URL: Changelog, https://github.com/ValkyrieSystems/sarkit-convert/blob/main/CHANGELOG.md
|
|
19
|
+
Requires-Python: >=3.12
|
|
17
20
|
Requires-Dist: lxml>=5.1.0
|
|
18
|
-
Requires-Dist: numpy>=
|
|
19
|
-
Requires-Dist: pyproj>=3.
|
|
21
|
+
Requires-Dist: numpy>=2.0.0
|
|
22
|
+
Requires-Dist: pyproj>=3.6.1
|
|
20
23
|
Requires-Dist: sarkit>=1.3.0
|
|
21
|
-
Requires-Dist: scipy>=1.
|
|
24
|
+
Requires-Dist: scipy>=1.13.0
|
|
22
25
|
Provides-Extra: iceye
|
|
23
|
-
Requires-Dist: h5py>=3.
|
|
26
|
+
Requires-Dist: h5py>=3.11.0; extra == "iceye"
|
|
24
27
|
Requires-Dist: python-dateutil>=2.9.0; extra == "iceye"
|
|
25
28
|
Provides-Extra: cosmo
|
|
26
29
|
Requires-Dist: astropy>=6.0.0; extra == "cosmo"
|
|
27
|
-
Requires-Dist: h5py>=3.
|
|
30
|
+
Requires-Dist: h5py>=3.11.0; extra == "cosmo"
|
|
28
31
|
Requires-Dist: python-dateutil>=2.9.0; extra == "cosmo"
|
|
29
|
-
Requires-Dist: shapely>=2.0.
|
|
32
|
+
Requires-Dist: shapely>=2.0.6; extra == "cosmo"
|
|
30
33
|
Provides-Extra: terrasar
|
|
31
34
|
Requires-Dist: python-dateutil>=2.9.0; extra == "terrasar"
|
|
32
35
|
Provides-Extra: sentinel
|
|
33
36
|
Requires-Dist: python-dateutil>=2.9.0; extra == "sentinel"
|
|
34
|
-
Requires-Dist: tifffile>=
|
|
37
|
+
Requires-Dist: tifffile>=2024.7.2; extra == "sentinel"
|
|
35
38
|
Provides-Extra: all
|
|
36
39
|
Requires-Dist: sarkit-convert[iceye]; extra == "all"
|
|
37
40
|
Requires-Dist: sarkit-convert[cosmo]; extra == "all"
|
|
@@ -43,6 +46,13 @@ Description-Content-Type: text/markdown
|
|
|
43
46
|
|
|
44
47
|
<img src="https://raw.githubusercontent.com/ValkyrieSystems/sarkit/main/docs/source/_static/sarkit_logo.png" width=200>
|
|
45
48
|
|
|
49
|
+
[](https://pypi.org/project/sarkit-convert/)
|
|
50
|
+

|
|
51
|
+
[](./LICENSE)
|
|
52
|
+
[](https://scientific-python.org/specs/spec-0000/)
|
|
53
|
+
<br>
|
|
54
|
+
[](https://github.com/ValkyrieSystems/sarkit-convert/actions/workflows/test.yml)
|
|
55
|
+
|
|
46
56
|
</div>
|
|
47
57
|
|
|
48
58
|
**sarkit-convert** is a Python library for converting SAR data to standard formats.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
sarkit_convert-0.3.1.dist-info/METADATA,sha256=zBfO4aQX3Gznxx8GDk4POVag3pvkfJBkPY4kbKIdRa4,3047
|
|
2
|
+
sarkit_convert-0.3.1.dist-info/WHEEL,sha256=Wb0ASbVj8JvWHpOiIpPi7ucfIgJeCi__PzivviEAQFc,90
|
|
3
|
+
sarkit_convert-0.3.1.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
|
|
4
|
+
sarkit_convert-0.3.1.dist-info/licenses/LICENSE,sha256=H0HxqjXuxJwqg17L2F5jjbrWm5IV-R_FNLbzu-eJEc0,1086
|
|
5
|
+
sarkit_convert/__init__.py,sha256=l_h1XRjbcNc4Hg66LvcjKzjk4lVlwaFLbNizvQtysgo,295
|
|
6
|
+
sarkit_convert/_utils.py,sha256=mZlMqxXDR0we4hAabGpRHeGvVZLnoB6uvjYO-QiuIi0,9233
|
|
7
|
+
sarkit_convert/_version.py,sha256=2KwowXhmiT6-Bln7VPq9d9sRpAzJq9qLyclhp2KWmjA,21
|
|
8
|
+
sarkit_convert/cosmo.py,sha256=JUirYDfrYm4hUDa0ubyL4bOuvW18-MQKOCAADNpWgWU,34531
|
|
9
|
+
sarkit_convert/create_arp_poly.py,sha256=ApntYmMts8jZ7gSfDMDZ64DehvFUdXxIQf-XuBO41fQ,5987
|
|
10
|
+
sarkit_convert/iceye.py,sha256=F5bIh-knTRHHxGksJLOcdqn14PO9OQUlpCMJ7FqyJqQ,27115
|
|
11
|
+
sarkit_convert/sentinel.py,sha256=Ru1jVG5g4VLfNsy5o8uhoPdBvyi6jk8tH6XcE4recXU,60693
|
|
12
|
+
sarkit_convert/sidd_metadata.py,sha256=lVffYbkvGWZ6hQl_PcQfR8FEMcneCGsp5n6xR5ZvHIk,6927
|
|
13
|
+
sarkit_convert/terrasar.py,sha256=iFvZtspMLiPI59rWCqgoAyzBqTsmR0d-RbcxQkh5Lho,34794
|
|
14
|
+
sarkit_convert-0.3.1.dist-info/RECORD,,
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
sarkit_convert-0.2.0.dist-info/METADATA,sha256=SiqX7I3vnXIuaZMPA7yXtV8PeKo2X1li5k98TozI0jM,2185
|
|
2
|
-
sarkit_convert-0.2.0.dist-info/WHEEL,sha256=tsUv_t7BDeJeRHaSrczbGeuK-TtDpGsWi_JfpzD255I,90
|
|
3
|
-
sarkit_convert-0.2.0.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
|
|
4
|
-
sarkit_convert-0.2.0.dist-info/licenses/LICENSE,sha256=H0HxqjXuxJwqg17L2F5jjbrWm5IV-R_FNLbzu-eJEc0,1086
|
|
5
|
-
sarkit_convert/__init__.py,sha256=l_h1XRjbcNc4Hg66LvcjKzjk4lVlwaFLbNizvQtysgo,295
|
|
6
|
-
sarkit_convert/_utils.py,sha256=bzFGIBE870QAMfEhm5CYAP4PUlY0KM6V3paTng_rr_8,9407
|
|
7
|
-
sarkit_convert/_version.py,sha256=clN3TnyYyt5T_wUJLVBmutS2kYLLBET4JFB2QXnRm2Q,21
|
|
8
|
-
sarkit_convert/cosmo.py,sha256=ttrN0f_pU2PmH3LL0DojWCxxVDAcCm8j6kWB2w82BIU,36374
|
|
9
|
-
sarkit_convert/create_arp_poly.py,sha256=dgbKYYKUarC7W1edbEeozy6O4Gg-u62LsV8v1mrC_hs,5983
|
|
10
|
-
sarkit_convert/iceye.py,sha256=LmOqEo2_BW7noo2I9QJbPMLn51c1tAaItUBomA62gy0,31108
|
|
11
|
-
sarkit_convert/sentinel.py,sha256=s7rrssfrJhLsV90HzKAzoxeYNXNKTru0qNvRNkEfoU8,63124
|
|
12
|
-
sarkit_convert/sidd_metadata.py,sha256=lVffYbkvGWZ6hQl_PcQfR8FEMcneCGsp5n6xR5ZvHIk,6927
|
|
13
|
-
sarkit_convert/terrasar.py,sha256=Rl7BfBt2ZTQ9sVlMWY-rgLp0RBoWwBT1PWymSCW8Xvk,36351
|
|
14
|
-
sarkit_convert-0.2.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|