Primes of Ulam's Spiral Ulam's spiral is a truly fascinating, yet puzzling, topic in mathematics. How it works in detail can be found here, but a short summary can be explained as so:

I start off by writing a one, then I write a two to the right of it. Above the two, I write a three, and to the left of that I write four. I continue this pattern of circling around 1 (and any numbers between me and 1) infinitely (or until told to stop), forming a spiral pattern. (see example below)

The Objective

Make a program that accepts n (will always be an odd number greater than zero) as an input that correlates with the number of rows, then prints out the values of the primes row by row of the Ulam spiral. The formatting can be any fashion, but must be human readable and obvious.

For example, given the input 3, your program should output 5,3,2,7, because 3 rows produces the following spiral:

5 4 3 &lt;-- first row has the primes 5 and 3
6 1 2 &lt;-- second row has the prime 2
7 8 9 &lt;-- third row has the prime 7


As this is a code golf, the answer with the fewest bytes wins (no matter how inefficient)! Standard loopholes are not acceptable.
Pyth, 20 bytes

f}TPTsuC+R=hZ_GtyQ]]


Try it online: Demonstration

This code generates the fully Ulam's spiral, connects all lines and filters for primes. 

Explanation:

f}TPTsuC+R=hZ_GtyQ]]   implicit: Z = 0
      u           ]]   reduce, start with G = [[]]
               tyQ     for H in [0, 1, ..., 2*input-2] do:
             _G           reverse the order of the lines
        +R=hZ             append Z + 1 at the end of each line, 
                          updating Z each time with the new value Z + 1
       C                  update G with the transposed of ^
                       this gives the Ulam's spiral
     s                 combine all lines to a big list of numbers
f                      filter for numbers T, which satisfy:
 }TPT                    T appears in the prime-factorization of T
                         (&lt;==&gt; T is prime)