parametres input

This commit is contained in:
nuknal
2024-05-28 00:03:18 +08:00
parent 720a3fd855
commit c7bbb632f5
10 changed files with 245 additions and 90 deletions

View File

@@ -1,9 +1,7 @@
package main
import (
"github.com/airbusgeo/godal"
"github.com/sirupsen/logrus"
imageproc "starwiz.cn/sjy01/image-proc"
)
func init() {
@@ -16,29 +14,5 @@ func init() {
}
func main() {
reg := imageproc.NewRegistrator()
if err := reg.LoadMssRaw("/Users/lan/workspace/temp/ccv/ms_image.raw"); err != nil {
panic(err)
}
if err := reg.LoadPanRaw("/Users/lan/workspace/temp/ccv/pan_image.raw"); err != nil {
panic(err)
}
godal.RegisterAll()
// reg.SaveOriginalPanToGDALGTiff("data/original_pan.tiff")
// reg.SaveFilteredPanToGDALGTiff("data/filtered_pan.tiff")
if err := reg.DoPhaseCorrelation(); err != nil {
panic(err)
}
reg.DoCoRegestration()
// // reg.SaveRegisteredMssToRaw("data/registered_mss.RAW")
reg.SaveRegisteredMssToGDALGTiff("data/registered_mss.tiff")
reg.SavePansharpenedToGDALGTiff("data/pansharpened.tiff")
reg.Clean()
rootCmd.Execute()
}

88
cmd/proc.go Normal file
View File

@@ -0,0 +1,88 @@
package main
import (
"os"
"path/filepath"
"strings"
"github.com/airbusgeo/godal"
"github.com/spf13/cobra"
imageproc "starwiz.cn/sjy01/image-proc"
)
var (
PanRawFile string
MssRawFile string
AuxRawFile string
SaveRegisteredMssRaw bool
PansharpenIHS bool
OutputDir string
)
var procCmd = &cobra.Command{
Use: "proc",
Short: "process images",
Long: `process images`,
Run: func(cmd *cobra.Command, args []string) {
reg := imageproc.NewRegistrator(imageproc.DownSampled)
reg.Params = imageproc.Params{
PanRawFile: PanRawFile,
MssRawFile: MssRawFile,
AuxRawFile: AuxRawFile,
SaveRegisteredMssRaw: SaveRegisteredMssRaw,
PansharpenIHS: PansharpenIHS,
OutputDir: OutputDir,
MssTiffFile: filepath.Join(OutputDir,
strings.TrimSuffix(filepath.Base(MssRawFile),
filepath.Ext(MssRawFile))+".tiff"),
PanTiffFile: filepath.Join(OutputDir,
strings.TrimSuffix(filepath.Base(PanRawFile),
filepath.Ext(PanRawFile))+".tiff"),
}
reg.Params.FusTIffFile = strings.Replace(reg.Params.MssTiffFile, ".tiff", "_FUS.tiff", 1)
if err := reg.LoadMssRaw(); err != nil {
panic(err)
}
if err := reg.LoadPanRaw(); err != nil {
panic(err)
}
godal.RegisterAll()
os.MkdirAll(OutputDir, 0755)
if err := reg.DoPhaseCorrelation(); err != nil {
panic(err)
}
reg.DoCoRegestration()
if SaveRegisteredMssRaw {
registerdMSSRAW := filepath.Join(
OutputDir,
strings.TrimSuffix(filepath.Base(MssRawFile), filepath.Ext(MssRawFile))+"_registered.RAW",
)
reg.SaveRegisteredMssToRaw(registerdMSSRAW)
}
reg.SaveOriginalPanToGDALGTiff(reg.Params.PanTiffFile)
reg.SaveRegisteredMssToGDALGTiff(reg.Params.MssTiffFile)
if PansharpenIHS {
reg.SavePansharpenedToGDALGTiff(reg.Params.FusTIffFile)
}
reg.Clean()
},
}
func init() {
rootCmd.AddCommand(procCmd)
procCmd.Flags().StringVarP(&PanRawFile, "pan", "p", "pan.raw", "PAN image raw file path")
procCmd.Flags().StringVarP(&MssRawFile, "mss", "m", "mss.raw", "MSS image raw file path")
procCmd.Flags().StringVarP(&AuxRawFile, "aux", "a", "pms.aux", "AUX image raw file path")
procCmd.Flags().BoolVarP(&SaveRegisteredMssRaw, "srmss", "s", false, "save registered MSS image raw file")
procCmd.Flags().BoolVarP(&PansharpenIHS, "fus", "", false, "pansharpen using IHS")
procCmd.Flags().StringVarP(&OutputDir, "output-dir", "o", "data", "output directory")
}

16
cmd/root.go Normal file
View File

@@ -0,0 +1,16 @@
package main
import (
"fmt"
"github.com/spf13/cobra"
)
var rootCmd = &cobra.Command{
Use: "SJY01 Image processing tools",
Short: "Preprocessing tools for SJY01 original image data",
Long: ``,
Run: func(cmd *cobra.Command, args []string) {
fmt.Println("preprocessing tools for SJY01 original image data")
},
}