fix up global balance names
track mosaic-name now
This commit is contained in:
parent
170efb1452
commit
8a38cb1946
13
TODO
13
TODO
@ -1,16 +1,3 @@
|
|||||||
- when adding a history line like
|
|
||||||
|
|
||||||
if( im_histlin( out, "#LRJOIN <%s> <%s> <%s> <%d> <%d> <%d>",
|
|
||||||
|
|
||||||
look for a meta field called "mosaicing-name" and use that for the filename
|
|
||||||
if it's not set, use "original-fileanme" instead
|
|
||||||
make up a new name and attach that to the output as "mosaicing-name"
|
|
||||||
|
|
||||||
means we don't need to track copies in globalbalance
|
|
||||||
|
|
||||||
test on two-point mosaicing example
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
- more mosaicing?
|
- more mosaicing?
|
||||||
|
|
||||||
|
@ -1088,14 +1088,50 @@ im__lrmerge( IMAGE *ref, IMAGE *sec, IMAGE *out, int dx, int dy, int mwidth )
|
|||||||
return ( 0 );
|
return ( 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *
|
||||||
|
im__get_mosaic_name( VipsImage *image )
|
||||||
|
{
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
if( vips_image_get_typeof( image, "mosaic-name" ) ) {
|
||||||
|
if( vips_image_get_string( image, "mosaic-name", &name ) )
|
||||||
|
return( NULL );
|
||||||
|
}
|
||||||
|
else if( vips_image_get_typeof( image, "original-filename" ) ) {
|
||||||
|
if( vips_image_get_string( image, "original-filename", &name ) )
|
||||||
|
return( NULL );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
name = image->filename;
|
||||||
|
|
||||||
|
return( name );
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
im__add_mosaic_name( VipsImage *image )
|
||||||
|
{
|
||||||
|
static int serial = 0;
|
||||||
|
|
||||||
|
char name[256];
|
||||||
|
|
||||||
|
/* We must override any inherited name, so don't test for doesn't
|
||||||
|
* exist before setting.
|
||||||
|
*/
|
||||||
|
vips_snprintf( name, 256, "mosaic-temp-%d", serial++ );
|
||||||
|
vips_image_set_string( image, "mosaic-name", name );
|
||||||
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
im_lrmerge( IMAGE *ref, IMAGE *sec, IMAGE *out, int dx, int dy, int mwidth )
|
im_lrmerge( IMAGE *ref, IMAGE *sec, IMAGE *out, int dx, int dy, int mwidth )
|
||||||
{
|
{
|
||||||
if( im__lrmerge( ref, sec, out, dx, dy, mwidth ) )
|
if( im__lrmerge( ref, sec, out, dx, dy, mwidth ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
|
im__add_mosaic_name( out );
|
||||||
if( im_histlin( out, "#LRJOIN <%s> <%s> <%s> <%d> <%d> <%d>",
|
if( im_histlin( out, "#LRJOIN <%s> <%s> <%s> <%d> <%d> <%d>",
|
||||||
ref->filename, sec->filename, out->filename,
|
im__get_mosaic_name( ref ),
|
||||||
|
im__get_mosaic_name( sec ),
|
||||||
|
im__get_mosaic_name( out ),
|
||||||
-dx, -dy, mwidth ) )
|
-dx, -dy, mwidth ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
|
@ -711,8 +711,11 @@ im_tbmerge( IMAGE *ref, IMAGE *sec, IMAGE *out, int dx, int dy, int mwidth )
|
|||||||
if( im__tbmerge( ref, sec, out, dx, dy, mwidth ) )
|
if( im__tbmerge( ref, sec, out, dx, dy, mwidth ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
|
im__add_mosaic_name( out );
|
||||||
if( im_histlin( out, "#TBJOIN <%s> <%s> <%s> <%d> <%d> <%d>",
|
if( im_histlin( out, "#TBJOIN <%s> <%s> <%s> <%d> <%d> <%d>",
|
||||||
ref->filename, sec->filename, out->filename,
|
im__get_mosaic_name( ref ),
|
||||||
|
im__get_mosaic_name( sec ),
|
||||||
|
im__get_mosaic_name( out ),
|
||||||
-dx, -dy, mwidth ) )
|
-dx, -dy, mwidth ) )
|
||||||
return( -1 );
|
return( -1 );
|
||||||
|
|
||||||
|
@ -100,6 +100,9 @@ extern int *im__icoef1;
|
|||||||
extern int *im__icoef2;
|
extern int *im__icoef2;
|
||||||
int im__make_blend_luts();
|
int im__make_blend_luts();
|
||||||
|
|
||||||
|
void im__add_mosaic_name( VipsImage *image );
|
||||||
|
const char *im__get_mosaic_name( VipsImage *image );
|
||||||
|
|
||||||
int im__attach_input( REGION *or, REGION *ir, Rect *area );
|
int im__attach_input( REGION *or, REGION *ir, Rect *area );
|
||||||
int im__copy_input( REGION *or, REGION *ir, Rect *area, Rect *reg );
|
int im__copy_input( REGION *or, REGION *ir, Rect *area, Rect *reg );
|
||||||
Overlapping *im__build_mergestate( const char *domain,
|
Overlapping *im__build_mergestate( const char *domain,
|
||||||
|
@ -124,9 +124,12 @@ im__lrmerge1( IMAGE *ref, IMAGE *sec, IMAGE *out,
|
|||||||
/* Note parameters in history file ... for global balance to pick up
|
/* Note parameters in history file ... for global balance to pick up
|
||||||
* later.
|
* later.
|
||||||
*/
|
*/
|
||||||
|
im__add_mosaic_name( out );
|
||||||
vips_buf_init_static( &buf, text, 1024 );
|
vips_buf_init_static( &buf, text, 1024 );
|
||||||
vips_buf_appendf( &buf, "#LRROTSCALE <%s> <%s> <%s> <",
|
vips_buf_appendf( &buf, "#LRROTSCALE <%s> <%s> <%s> <",
|
||||||
ref->filename, sec->filename, out->filename );
|
im__get_mosaic_name( ref ),
|
||||||
|
im__get_mosaic_name( sec ),
|
||||||
|
im__get_mosaic_name( out ) );
|
||||||
vips_buf_appendg( &buf, a );
|
vips_buf_appendg( &buf, a );
|
||||||
vips_buf_appendf( &buf, "> <" );
|
vips_buf_appendf( &buf, "> <" );
|
||||||
vips_buf_appendg( &buf, b );
|
vips_buf_appendg( &buf, b );
|
||||||
@ -166,9 +169,12 @@ im__tbmerge1( IMAGE *ref, IMAGE *sec, IMAGE *out,
|
|||||||
/* Note parameters in history file ... for global balance to pick up
|
/* Note parameters in history file ... for global balance to pick up
|
||||||
* later.
|
* later.
|
||||||
*/
|
*/
|
||||||
|
im__add_mosaic_name( out );
|
||||||
vips_buf_init_static( &buf, text, 1024 );
|
vips_buf_init_static( &buf, text, 1024 );
|
||||||
vips_buf_appendf( &buf, "#TBROTSCALE <%s> <%s> <%s> <",
|
vips_buf_appendf( &buf, "#TBROTSCALE <%s> <%s> <%s> <",
|
||||||
ref->filename, sec->filename, out->filename );
|
im__get_mosaic_name( ref ),
|
||||||
|
im__get_mosaic_name( sec ),
|
||||||
|
im__get_mosaic_name( out ) );
|
||||||
vips_buf_appendg( &buf, a );
|
vips_buf_appendg( &buf, a );
|
||||||
vips_buf_appendf( &buf, "> <" );
|
vips_buf_appendf( &buf, "> <" );
|
||||||
vips_buf_appendg( &buf, b );
|
vips_buf_appendg( &buf, b );
|
||||||
|
Loading…
Reference in New Issue
Block a user