Commit b8549267 authored by David Frank's avatar David Frank
Browse files

Move BlobProjector functions to source file

parent 9bfc27ff
...@@ -34,6 +34,22 @@ namespace elsa ...@@ -34,6 +34,22 @@ namespace elsa
{ {
} }
template <typename data_t>
BlobProjector<data_t>* BlobProjector<data_t>::cloneImpl() const
{
return new BlobProjector(_volumeDescriptor, _detectorDescriptor);
}
template <typename data_t>
bool BlobProjector<data_t>::isEqual(const LinearOperator<data_t>& other) const
{
if (!Base::isEqual(other))
return false;
auto otherOp = downcast_safe<BlobProjector>(&other);
return static_cast<bool>(otherOp);
}
template <typename data_t> template <typename data_t>
BSplineProjector<data_t>::BSplineProjector(data_t degree, BSplineProjector<data_t>::BSplineProjector(data_t degree,
const VolumeDescriptor& domainDescriptor, const VolumeDescriptor& domainDescriptor,
......
...@@ -211,20 +211,10 @@ namespace elsa ...@@ -211,20 +211,10 @@ namespace elsa
index_t support() const { return static_cast<index_t>(std::ceil(lut_.radius())); } index_t support() const { return static_cast<index_t>(std::ceil(lut_.radius())); }
/// implement the polymorphic clone operation /// implement the polymorphic clone operation
BlobProjector<data_t>* cloneImpl() const override BlobProjector<data_t>* cloneImpl() const override;
{
return new BlobProjector(_volumeDescriptor, _detectorDescriptor);
}
/// implement the polymorphic comparison operation /// implement the polymorphic comparison operation
bool isEqual(const LinearOperator<data_t>& other) const override bool isEqual(const LinearOperator<data_t>& other) const override;
{
if (!Base::isEqual(other))
return false;
auto otherOp = downcast_safe<BlobProjector>(&other);
return static_cast<bool>(otherOp);
}
private: private:
ProjectedBlobLut<data_t, 100> lut_; ProjectedBlobLut<data_t, 100> lut_;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment