private Frame getAround(Frame blur_f, int x_pos, int y_pos, int size){
		
		//the length of sub IndirectFrame square area
		int range = 2*size + 1;	
		
		//the width of sub IndirectFrame
		int width = range;
		
		//the height of sub IndirectFrame area
		int height = range;
		
		//the start position of sub IndirectFrame
		int start_x = x_pos - size;
		
		//the start position of sub IndirectFrame
		int start_y = y_pos - size;
		
		
		if(x_pos < size){
			start_x = 0;
			width -= (size - x_pos);
		}
		if((blur_f.getWidth() - x_pos) <= size){
			width -= (size - (blur_f.getWidth() - x_pos -1));
		}
		if(y_pos < size){
			start_y = 0;
			height -= (size - y_pos);
		}
		if((blur_f.getHeight() - y_pos) <= size){
			height -= (size - (blur_f.getHeight() - y_pos -1));
		}
		
		IndirectFrame sub_frame = blur_f.crop(start_x, start_y, width, height);
		
		//blur_f.setPixel(x_pos, y_pos, sub_frame.getAverage());
		return sub_frame;
	}