暂时使用星下点坐标作为图像左上角坐标
This commit is contained in:
38
cmd/fus.go
Normal file
38
cmd/fus.go
Normal file
@@ -0,0 +1,38 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"path/filepath"
|
||||
"strings"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
"github.com/spf13/cobra"
|
||||
producer "starwiz.cn/sjy01/image-proc/pkg/producer"
|
||||
)
|
||||
|
||||
var (
|
||||
panImage string
|
||||
mssImage string
|
||||
outputDir string
|
||||
)
|
||||
|
||||
var fusCmd = &cobra.Command{
|
||||
Use: "fus",
|
||||
Short: "use GDAL_Pansharpen to merge PAN and MSS images",
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
fusedTiff := filepath.Base(mssImage)
|
||||
fusedTiff = strings.Replace(fusedTiff, "MSS", "FUS", -1)
|
||||
err := producer.GDALPansharpen(panImage, mssImage, filepath.Join(outputDir, fusedTiff))
|
||||
if err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
func init() {
|
||||
rootCmd.AddCommand(fusCmd)
|
||||
|
||||
fusCmd.Flags().StringVarP(&panImage, "pan", "p", "", "path to the PAN image")
|
||||
fusCmd.Flags().StringVarP(&mssImage, "mss", "m", "", "path to the MSS image")
|
||||
fusCmd.Flags().StringVarP(&outputDir, "output", "o", "", "path to the output directory")
|
||||
fusCmd.Flags().StringVarP(¶msXML, "params", "x", "", "path to the XML file containing parameters for GDAL_Pansharpen")
|
||||
}
|
||||
14
cmd/proc.go
14
cmd/proc.go
@@ -22,7 +22,8 @@ var procCmd = &cobra.Command{
|
||||
Short: "process images",
|
||||
Long: `process images`,
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
_ = config.InitViper(configFile)
|
||||
config.GViper = config.InitViper(configFile)
|
||||
logrus.SetLevel(config.GCONFIG.LogLevel)
|
||||
|
||||
reg := producer.NewRegistrator(producer.DownSampled)
|
||||
reg.Params = params
|
||||
@@ -30,19 +31,23 @@ var procCmd = &cobra.Command{
|
||||
reg.Params.PanTiffFile = filepath.Join(params.OutputDir, strings.TrimSuffix(filepath.Base(params.PanRawFile), filepath.Ext(params.PanRawFile))+".tiff")
|
||||
reg.Params.FusTIffFile = strings.Replace(reg.Params.MssTiffFile, ".tiff", "_FUS.tiff", 1)
|
||||
|
||||
if err := reg.LoadAuxData(); err != nil {
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
if err := reg.LoadMssRaw(); err != nil {
|
||||
panic(err)
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
if err := reg.LoadPanRaw(); err != nil {
|
||||
panic(err)
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
|
||||
godal.RegisterAll()
|
||||
os.MkdirAll(params.OutputDir, 0755)
|
||||
|
||||
if err := reg.DoPhaseCorrelation(); err != nil {
|
||||
panic(err)
|
||||
logrus.Fatal(err)
|
||||
}
|
||||
reg.DoCoRegistration()
|
||||
|
||||
@@ -85,4 +90,5 @@ func init() {
|
||||
procCmd.Flags().StringVarP(¶ms.OutputDir, "output-dir", "o", "data", "output directory")
|
||||
procCmd.Flags().BoolVarP(¶ms.SubScenes, "sub-scenes", "", false, "process sub-scenes")
|
||||
procCmd.Flags().BoolVarP(&saveStrip, "save-strip", "", false, "save original and registered images as GDAL GTiff")
|
||||
procCmd.Flags().StringVarP(¶msXML, "params", "x", "", "params xml file path")
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
var (
|
||||
configFile string
|
||||
paramsXML string
|
||||
)
|
||||
|
||||
var rootCmd = &cobra.Command{
|
||||
|
||||
Reference in New Issue
Block a user