                 t += l
             }
         }
-        return t == 0 ? Pixel() : Pixel(pixel / t)
+        return t == 0 ? ColorPixel<ColorModel>() : pixel / t
     }
     
     @_versioned
     @inline(__always)
-    func smapling2<Pixel: ColorPixelProtocol>(source: UnsafePointer<ColorPixel<Pixel.Model>>, width: Int, height: Int, point: Point, sampler: (Double, Double, Double) -> Double) -> Pixel {
+    func smapling2<ColorModel: ColorModelProtocol>(source: UnsafePointer<ColorPixel<ColorModel>>, width: Int, height: Int, point: Point, sampler: (Double, Double, Double) -> Double) -> ColorPixel<ColorModel> {
         
         let x_range = 0..<width
         let y_range = 0..<height

    
    @_versioned
    @_inlineable
    func resampling(s_width: Int, width: Int, height: Int, transform: SDTransform, algorithm: Image.ResamplingAlgorithm) -> ImageBaseProtocol {
        
        return ImageBase(buffer: algorithm.calculate(source: self.buffer, s_width: s_width, width: width, height: height, pixel: ColorPixel.self, transform: transform.inverse), colorSpace: self.colorSpace, algorithm: self.algorithm)
    }
    
    @_versioned

            let a3 = sampler(_tx, _s9.opacity, _s10.opacity, _s11.opacity, _s12.opacity)
            let a4 = sampler(_tx, _s13.opacity, _s14.opacity, _s15.opacity, _s16.opacity)
            
            return ColorPixel<ColorModel>(color: color, opacity: sampler(_ty, a1, a2, a3, a4))
            
        } else {
            return ColorPixel<ColorModel>()
        }
    }
}
