show/hide this revision's text 1 [made Community Wiki]

By numerical calculation using the Mathematica code below the counting can be extended to n=16 in short time. The results roughly confirm the asymptotics claimed in the previous answers. This is the counting result as a list {n, Count(n)}:

{{1, 1}, {2, 1}, {3, 2}, {4, 4}, {5, 10}, {6, 21}, {7, 49}, {8, 104}, {9, 227}, {10, 468}, {11, 976}, {12, 1978}, {13, 4030}, {14, 8095}, {15, 16313}, {16, 32656}}

In comparison the approximative formula

Round[2^(n - 1) + 2^(Ceiling[n/2]) - n^3/24] 

yields

{{1, 3}, {2, 4}, {3, 7}, {4, 9}, {5, 19}, {6, 31}, {7, 66}, {8, 123}, {9, 258}, {10, 502}, {11, 1033}, {12, 2040}, {13, 4132}, {14, 8206}, {15, 16499}, {16, 32853}, {17, 65843}}

and the count not including symmetric shapes

Round[2^(n - 1) - (n^3 - n^2 + 10 n + 4)/16]

results in

{{1, 0}, {2, 0}, {3, 1}, {4, 2}, {5, 6}, {6, 17}, {7, 41}, {8, 95}, {9, 210}, {10, 449}, {11, 941}, {12, 1941}, {13, 3961}, {14, 8024}, {15, 16178}, {16, 32518}, {17, 65236}}

Here the Mathematica code for n=10 (just replace PN for other values of n). The list poly contains all different poyominoes of size PN. Each can be visualized by e.g. Outline[poly[[3]]] (for the third) Poyomino shapes are encoded by the bit representation of integers.

PN = 10;
ToBit[x_] := IntegerDigits[x, 2];
BitCount[x_] := DigitCount[x, 2, 1];
CompatibleQ[bc1_, bc2_] := BitCount[BitAnd[bc1, bc2]] == 1;
FarCompatibleQ[bc1_, bc2_] := BitCount[BitAnd[bc1, bc2]] < 2;
ms = Sort[Flatten[Table[2^k (2^n - 1), {n, 1, PN - 1}, {k, 0, PN}]]];
Clear[CompList]; 
CompList[n_] := ComList[n] = Select[ms, CompatibleQ[n, #] &];
Clear[FarCompList]; 
FarCompList[n_] := FarComList[n] = Select[ms, FarCompatibleQ[n, #] &];
Cont[shape_] := 
  If[Length[shape] == 1, CompList[shape[[1]]], 
   Intersection @@ 
    Append[FarCompList /@ Drop[shape, -1], CompList[shape[[-1]]]]];
PReduce[shape_] := shape/(2^Min[IntegerExponent[#, 2] & /@ shape]);
BitArray[shape_] := Module[{pp = PReduce[shape], len },
   len = Length[ToBit[Max[pp]]]; 
   IntegerDigits[#, 2, len] & /@ pp];
Unify[shape_] := Module[{p = PReduce[shape], ba, rb, tb, rtb},
   ba = BitArray[p];
   Sort[PReduce /@ 
      Map[FromDigits[#, 2] &, {ba, rb = Reverse[ba], 
        tb = Transpose[ba], rtb = Reverse[tb], Reverse /@ ba, 
        Transpose[rb], Reverse /@ rb, Reverse /@ rtb}, {2}]][[1]]];
Outline[shape_] := With[{ll = Length[ToBit[Max[shape]]]},
   ArrayPlot[IntegerDigits[#, 2, ll] & /@ shape, Frame -> False]];
PLen[shape_] := Plus @@ (BitCount /@ shape);
PExpand[shape_, nn_] := Module[{ls = PLen[shape], cont},
   Which[ls > nn, {}, ls == nn, {shape}, True,
    cont = Select[Cont[shape], (BitCount[#] <= nn - ls) &];
    Append[shape, #] & /@ cont]];
poly = {{2^(PN - 1)}};
Do[poly = Flatten[PExpand[#, PN] & /@ poly, 1]; 
  Print[{k, Length[poly]}], {k, 1, PN - 1}];
polyonimoes[PN] = poly = Union[Unify /@ poly]; NP = Length[poly]