Skip to content

Commit

Permalink
Merge pull request #149 from imglib/intervals-expand
Browse files Browse the repository at this point in the history
Add expand method to Intervals
  • Loading branch information
tpietzsch authored Feb 28, 2017
2 parents d78035a + 91a69be commit 0398190
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions src/main/java/net/imglib2/util/Intervals.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
package net.imglib2.util;

import net.imglib2.Dimensions;
import net.imglib2.FinalDimensions;
import net.imglib2.FinalInterval;
import net.imglib2.FinalRealInterval;
import net.imglib2.Interval;
Expand Down Expand Up @@ -150,6 +151,50 @@ public static FinalInterval expand( final Interval interval, final long border )
}
return new FinalInterval( min, max );
}

/**
* Grow/shrink an interval in all dimensions.
*
* Create a {@link FinalInterval}, which is the input interval plus border
* pixels on every side, in every dimension.
*
* @param interval
* the input interval
* @param border
* how many pixels to add on every side
* @return expanded interval
*/
public FinalInterval expand( final Interval interval, final long ... border )
{
return expand(interval, new FinalDimensions( border ));
}

/**
* Grow/shrink an interval in all dimensions.
*
* Create a {@link FinalInterval}, which is the input interval plus border
* pixels on every side, in every dimension.
*
* @param interval
* the input interval
* @param border
* how many pixels to add on every side
* @return expanded interval
*/
public FinalInterval expand( final Interval interval, final Dimensions border )
{
final int n = interval.numDimensions();
final long[] min = new long[ n ];
final long[] max = new long[ n ];
interval.min( min );
interval.max( max );
for ( int d = 0; d < n; ++d )
{
min[ d ] -= border.dimension( d );
max[ d ] += border.dimension( d );
}
return new FinalInterval( min, max );
}

/**
* Grow/shrink an interval in one dimensions.
Expand Down

0 comments on commit 0398190

Please sign in to comment.