package fr.unistra.pelican.util.neighbourhood; import fr.unistra.pelican.util.Point4D; import fr.unistra.pelican.util.PointVideo; public class NeighbourhoodVideo { /** * Returns the point of the 6-temporalneighbourhood * (-1,0,0),(0,-1,0),(1,0,0),(0,1,0),(0,0,-1),(0,0,1) * @return 6-temoralneighbourhood */ public static PointVideo[] get6TemporalNeighboorhood() { PointVideo[] neighbourhood = {new PointVideo(-1,0,0),new PointVideo(0,-1,0),new PointVideo(1,0,0),new PointVideo(0,1,0),new PointVideo(0,0,1),new PointVideo(0,0,-1)}; return neighbourhood; } /** * Returns the point of the 10-temporalneighbourhood * (-1,-1,0),(0,-1,0),(1,-1,0),(-1,0,0),(1,0,0),(-1,1,0),(0,1,0),(1,1,0),(0,0,1),(0,0,-1) * @return 10-temporalneighbourhood */ public static PointVideo[] get10TemporalNeighboorhood() { PointVideo[] neighbourhood = {new PointVideo(-1,-1,0),new PointVideo(0,-1,0),new PointVideo(1,-1,0),new PointVideo(-1,0,0),new PointVideo(1,0,0),new PointVideo(-1,1,0),new PointVideo(0,1,0),new PointVideo(1,1,0),new PointVideo(0,0,1),new PointVideo(0,0,-1)}; return neighbourhood; } /** * Returns the point of the semi 10-temporalneighbourhood * (1,0,0),(-1,1,0),(0,1,0),(1,1,0),(0,0,1) * @return 10-temporalneighbourhood */ public static PointVideo[] getSemi10TemporalNeighboorhood() { PointVideo[] neighbourhood = {new PointVideo(1,0,0),new PointVideo(-1,1,0),new PointVideo(0,1,0),new PointVideo(1,1,0),new PointVideo(0,0,1)}; return neighbourhood; } /** * Returns the point of the 26-temporalneighbourhood * (-1,-1,0),(0,-1,0),(1,-1,0),(-1,0,0),(1,0,0),(-1,1,0),(0,1,0),(1,1,0), * (-1,-1,1),(0,-1,1),(1,-1,1),(-1,0,1),(0,0,1),(1,0,1),(-1,1,1),(0,1,1),(1,1,1), * (-1,-1,-1),(0,-1,-1),(1,-1,-1),(-1,0,-1),(0,0,-1),(1,0,-1),(-1,1,-1),(0,1,-1),(1,1,-1) * @return 26-temporalneighbourhood */ public static PointVideo[] get26TemporalNeighboorhood() { PointVideo[] neighbourhood = {new PointVideo(-1,-1,0),new PointVideo(0,-1,0),new PointVideo(1,-1,0),new PointVideo(-1,0,0),new PointVideo(1,0,0),new PointVideo(-1,1,0),new PointVideo(0,1,0),new PointVideo(1,1,0), new PointVideo(-1,-1,1),new PointVideo(0,-1,1),new PointVideo(1,-1,1),new PointVideo(-1,0,1),new PointVideo(0,0,1),new PointVideo(1,0,1),new PointVideo(-1,1,1),new PointVideo(0,1,1),new PointVideo(1,1,1), new PointVideo(-1,-1,-1),new PointVideo(0,-1,-1),new PointVideo(1,-1,-1),new PointVideo(-1,0,-1),new PointVideo(0,0,-1),new PointVideo(1,0,-1),new PointVideo(-1,1,-1),new PointVideo(0,1,-1),new PointVideo(1,1,-1)}; return neighbourhood; } /** * Returns the point of the 2-temporal neighbourhood * (0,0,-1),(0,0,1) * @return 2-temoralneighbourhood */ public static PointVideo[] get2TemporalNeighboorhood() { PointVideo[] neighbourhood = {new PointVideo(0,0,1),new PointVideo(0,0,-1)}; return neighbourhood; } /** * Returns the point of the semi 2-temporal neighbourhood * (0,0,1) * @return semi 2-temoralneighbourhood */ public static PointVideo[] getSemi2TemporalNeighboorhood() { PointVideo[] neighbourhood = {new PointVideo(0,0,1)}; return neighbourhood; } public static PointVideo[] getTotalTemporalNeighboorhood(int tdim) { PointVideo[] neighbourhood = new PointVideo[(tdim-1)*2]; int neighIndex=0; for(int i=1;i<tdim;i++) { neighbourhood[neighIndex++]=new PointVideo(0,0,i); neighbourhood[neighIndex++]=new PointVideo(0,0,-i); } return neighbourhood; } public static PointVideo[] getSemiTotalTemporalNeighboorhood(int tdim) { PointVideo[] neighbourhood = new PointVideo[(tdim-1)]; int neighIndex=0; for(int i=1;i<tdim;i++) { neighbourhood[neighIndex++]=new PointVideo(0,0,i); } return neighbourhood; } /** * Returns the point of the semi 8-neighbourhood * (1,0,0),(-1,1,0),(0,1,0),(1,1,0) * @return semi 8-neighbourhood */ public static PointVideo[] getSemi8Neighboorhood() { PointVideo[] neighbourhood = {new PointVideo(1,0,0),new PointVideo(-1,1,0),new PointVideo(0,1,0),new PointVideo(1,1,0)}; return neighbourhood; } /** * Returns the point of the semi 4-neighbourhood * (1,0,0),(0,1,0) * @return semi 4-neighbourhood */ public static PointVideo[] getSemi4Neighboorhood() { PointVideo[] neighbourhood = {new PointVideo(1,0,0),new PointVideo(0,1,0)}; return neighbourhood; } /** * Returns the point of the 4-neighbourhood * (-1,0,0),(0,-1,0),(1,0,0),(0,1,0) * @return 4-neighbourhood */ public static PointVideo[] get4Neighboorhood() { PointVideo[] neighbourhood = {new PointVideo(-1,0,0),new PointVideo(0,-1,0),new PointVideo(1,0,0),new PointVideo(0,1,0)}; return neighbourhood; } /** * Returns the point of the 8-neighbourhood * (-1,-1,0),(0,-1,0),(1,-1,0),(-1,0,0),(1,0,0),(-1,1,0),(0,1,0),(1,1,0) * @return 8-neighbourhood */ public static PointVideo[] get8Neighboorhood() { PointVideo[] neighbourhood = {new PointVideo(-1,-1,0),new PointVideo(0,-1,0),new PointVideo(1,-1,0),new PointVideo(-1,0,0),new PointVideo(1,0,0),new PointVideo(-1,1,0),new PointVideo(0,1,0),new PointVideo(1,1,0)}; return neighbourhood; } }