4.6 KiB
Phase 0 Stack Findings
Updated: 2026-04-03
Confirmed
- Official stack tooling exists in the
isce2env:/home/administrator/miniconda3/envs/isce2/share/isce2/stripmapStack/home/administrator/miniconda3/envs/isce2/share/isce2/topsStack
stackStripMap.pyexists and is the stripmap stack entry point.prepStripmap4timeseries.pyexists in the officialstripmapStacktoolset.stackStripMap.pyexpects:- an SLC root directory via
-s/--slc_directory - a DEM via
-d/--dem - an optional reference date via
-m/--reference_date - temporal and baseline thresholds
- an SLC root directory via
- The script scans date subdirectories under the SLC root.
- Default behavior looks for
<date>.rawinside each acquisition directory. - With
--nofocus, it instead looks for<date>.slc. - Deeper code inspection confirms:
topo.pyopens<date>/datageo2rdr.pyopens each secondary<date>/datarefineSecondaryTiminguses both<date>.slcand the acquisition directory as metadata roots
Important implication
Official stack processing expects a stack-style input layout such as:
SLC/
YYYYMMDD/
YYYYMMDD.raw
or, when data are already focused:
SLC/
YYYYMMDD/
YYYYMMDD.slc
YYYYMMDD.slc.xml
data
This is different from the current repository's custom LT-1 single-pair production flow.
Time-series bridge signal
prepStripmap4timeseries.pytakes:- pair/interferogram directories
- baseline directory
- geometry directory
- shelve metadata directory
- The script writes
.rscsidecars and explicitly referencespysar-style downstream usage.
This is useful because it confirms the official stripmap stack toolset already contains a bridge from stack outputs toward time-series preparation. The weak point is still the LT-1 stack input/preparation stage, not the existence of a downstream time-series bridge.
Existing repo bridge signal
The repository's current LT-1 single-pair pipeline already proves one important thing:
stripmapApp.pycan be driven with:sensor name = LUTAN1- direct
tiffinput path - direct
orbitFileXML path
See:
backend/app/isce2_pipeline/run_lt1_dinsar_pipeline.py
The generated XML writes:
Reference -> tiffReference -> orbitFileSecondary -> tiffSecondary -> orbitFile
This suggests a promising adapter direction:
- do not try to pretend LT-1 is ALOS or another officially prepared raw sensor
- instead, explore generating LT-1-aware stack configs directly from:
- scene
tiff - scene
meta.xml - converted orbit XML
- scene
That does not prove the official stack driver will accept this without modification.
But it is the strongest current indication for how a custom LT-1 stack-prep layer should be shaped.
LT-1 / LUTAN1 signal so far
- ISCE core does include a
Lutan1.pysensor module. - But no direct
lutanmatch was found in thestripmapStackhelper scripts. - The
stripmapStackREADME examples and preparation hints mention:prepRawALOS.pyprepRawSensor.py
- The README explicitly states automatic raw-data preparation support is currently oriented to:
- ALOS
- CSK
prepRawSensors.pyautomatic raw detection currently covers:- Envisat
- ERS CEOS
- ERS ENV
- ALOS1
- CSK
prepSlcSensors.pyautomatic SLC detection currently covers:- Envisat
- ALOS1
- CSK
- RSAT2
- TSX/TDX
- No LT-1 or LUTAN1 hook was found in these official stack preparation scripts.
Interim conclusion
Current evidence suggests:
- ISCE2 core can parse LT-1/LUTAN1 at the sensor level.
- Official
stripmapStacktooling is present. - But the official stack preparation helpers do not currently advertise LT-1/LUTAN1 support.
- There is no direct evidence yet that LT-1 can be fed into the official stack helpers without an adapter step.
--nofocusdoes not remove the need for acquisition metadata preparation.- It still needs a per-date
datashelve and an ISCE-style.slcimage.
- It still needs a per-date
This means the working assumption should be:
LT-1 stack via official stripmapStackis possible but unproven- an LT-1-specific stack preparation or conversion layer is required unless an existing hidden tool can materialize
data+.slcdirectly for LUTAN1
Next checks
- Implement a dry-run LT-1 stack-prep workspace generator against the selected sample manifest.
- Design a scene materializer that transforms one LT-1 scene into:
YYYYMMDD.slcYYYYMMDD.slc.xmldata
- Decide whether that materializer should:
- call ISCE/LUTAN1 directly, or
- reuse parts of the existing pair pipeline
- After materialization is proven, run
stackStripMap.py --nofocuson one tile-level stack