MultibandImage *layer0(MultibandImage *im){ AdjRel *rectangular = Rectangular(3,3); MultibandImage *normalized; normalized = normalize(im, rectangular); DestroyAdjRel(&rectangular); return normalized; }
MultibandImage *layer_n(MultibandImage *im, int n_filters, int prior_n_filters, MultibandKernel **kernels, int activation, int stride, float radio, float alpha){ int i; MultibandImage **images; MultibandImage *pooled, *normalized, *appended; AdjRel *rectangular = Rectangular(3,3); images = (MultibandImage **)calloc(n_filters,sizeof(MultibandImage**)); for(i=0; i< n_filters; i++) { images[i] = MultibandCorrelation(im, kernels[i], activation); } appended = AppendManyMultibandImages(images, n_filters); for(i=0; i<n_filters; i++){ DestroyMultibandImage(&images[i]); } free(images); pooled = pooling(appended, stride, radio, alpha); DestroyMultibandImage(&appended); normalized = normalize(pooled, rectangular); DestroyMultibandImage(&pooled); DestroyAdjRel(&rectangular); return normalized; }
TEST(testDrawPicture, draw_rectangular_length_12_width_6) { Rectangular(12,6).draw(); }
TEST(testDrawPicture, draw_rectangular_length_1_width_1) { Rectangular(1,1).draw(); }
Spherical Geodetic::Geocentric( ) const { return Spherical( Rectangular( ) ); }