if a volume is saved in chimera rigit fit with a new sampling the origin should change
--- a/pyworkflow/em/data.py
+++ b/pyworkflow/em/data.py
@@ -603,6 +603,12 @@ class Image(EMObject):
return x, y, z
# x, y, z are floats in Angstroms
def setOriginResample(self, newOrigin, originalSampling):
"""shifts in A"""
factor = originalSampling / self._samplingRate
self._origin = tuple([factor * x for x in newOrigin])
#self._origin = newOrigin
--- a/pyworkflow/em/packages/chimera/protocol_operate.py
+++ b/pyworkflow/em/packages/chimera/protocol_operate.py
@@ -192,12 +192,16 @@ class ChimeraProtOperate(EMProtocol):
sampling = ccp4header.computeSampling()
vol.setSamplingRate(sampling)
if self.inputVolume.get() is None:
-
samplingOriginal = self.pdbFileToBeRefined.get().getVolume().\
-
getSamplingRate()
origin = self.pdbFileToBeRefined.get().getVolume(). \
getOrigin(returnInitIfNone=True)
else:
-
samplingOriginal = self.inputVolume.get().getSamplingRate()
origin = self.inputVolume.get().getOrigin(
returnInitIfNone=True)
-
vol.setOriginResample(origin, samplingOriginal)
if a volume is saved in chimera rigit fit with a new sampling the origin should change
--- a/pyworkflow/em/data.py
+++ b/pyworkflow/em/data.py
@@ -603,6 +603,12 @@ class Image(EMObject):
return x, y, z
# x, y, z are floats in Angstroms
def setOriginResample(self, newOrigin, originalSampling):
"""shifts in A"""
factor = originalSampling / self._samplingRate
self._origin = tuple([factor * x for x in newOrigin])
#self._origin = newOrigin
--- a/pyworkflow/em/packages/chimera/protocol_operate.py
+++ b/pyworkflow/em/packages/chimera/protocol_operate.py
@@ -192,12 +192,16 @@ class ChimeraProtOperate(EMProtocol):
sampling = ccp4header.computeSampling()
vol.setSamplingRate(sampling)
if self.inputVolume.get() is None: