diff --git a/Code/IO/otbGDALImageIO.cxx b/Code/IO/otbGDALImageIO.cxx index dff5e861b7a731ad276302d27c1df0200c0f1e1d..c80f9d95d0a8953db4f90974fa37f07e77cd7e8a 100644 --- a/Code/IO/otbGDALImageIO.cxx +++ b/Code/IO/otbGDALImageIO.cxx @@ -138,9 +138,9 @@ GDALImageIO::GDALImageIO() // Set default spacing to one m_Spacing[0] = 1.0; m_Spacing[1] = 1.0; - // Set default origin to half a pixel (centered pixel convention) - m_Origin[0] = 0.5; - m_Origin[1] = 0.5; + // Set default origin to (0,0) (centered pixel convention) + m_Origin[0] = 0; + m_Origin[1] = 0; m_IsIndexed = false; m_DatasetNumber = 0; @@ -1866,8 +1866,11 @@ bool GDALImageIO::GetOriginFromGMLBox(std::vector<double> &origin) std::istringstream ss1 (originValues[1]); ss0 >> origin[1]; ss1 >> origin[0]; - origin[0] += -1.0 + 0.5; - origin[1] += -1.0 + 0.5; + + // We stick to OSSIM convention here (center of ul pixel is (0,0), + // so we need to remove 1 pixel + origin[0] -= 1.0; + origin[1] -= 1.0; otbMsgDevMacro( << "\t Origin from GML box: " << origin[0] << ", " << origin[1] ); diff --git a/Code/IO/otbJPEG2000ImageIO.cxx b/Code/IO/otbJPEG2000ImageIO.cxx index c6de7808a3284f1714afa47019f69fd334226c06..dc2a63bd4cd43f04148a718cf6247f7d1c41094c 100644 --- a/Code/IO/otbJPEG2000ImageIO.cxx +++ b/Code/IO/otbJPEG2000ImageIO.cxx @@ -242,8 +242,11 @@ bool JPEG2000MetadataReader::GetOriginFromGMLBox (std::vector<double> &origin) std::istringstream ss1 (originValues[1]); ss0 >> origin[1]; ss1 >> origin[0]; - origin[0] += -1.0 + 0.5; - origin[1] += -1.0 + 0.5; + + // We stick to OSSIM convention here (center of ul pixel is (0,0), + // so we need to remove 1 pixel + origin[0] -= 1.0; + origin[1] -= 1.0; otbMsgDevMacro( << "\t Origin from GML box: " << origin[0] << ", " << origin[1] ); @@ -761,8 +764,8 @@ JPEG2000ImageIO::JPEG2000ImageIO() m_Spacing[0] = 1.0; m_Spacing[1] = 1.0; // Set default origin to zero - m_Origin[0] = 0.5; - m_Origin[1] = 0.5; + m_Origin[0] = 0.; + m_Origin[1] = 0.; m_BytePerPixel = 1; m_ResolutionFactor = 0; // Full resolution by default @@ -1368,7 +1371,7 @@ void JPEG2000ImageIO::ReadImageInformation() else { otbMsgDevMacro( << "NO PROJECTION IN GML BOX => SENSOR MODEL " ); - m_Origin[0] = 0.5; m_Origin[1] = 0.5; + m_Origin[0] = 0.; m_Origin[1] = 0.; m_Spacing[0] = 1; m_Spacing[1] = 1; lJP2MetadataReader.GetOriginFromGMLBox(m_Origin); @@ -1381,8 +1384,8 @@ void JPEG2000ImageIO::ReadImageInformation() else { otbMsgDevMacro( << "JPEG2000 file has NO metadata available!"); - m_Origin[0] = 0.5; - m_Origin[1] = 0.5; + m_Origin[0] = 0.; + m_Origin[1] = 0.; m_Spacing[0] = 1; m_Spacing[1] = 1; }