The follwing is a step by step check of Pauli group G is the central product of subgroups H and K, where H and K are isomorphic to C4 and D4, respectively.
Definition of G, H, K:
G={{{-1,0},{0,-1}},{{-1,0},{0,1}},{{0,-1},{-1,0}},{{0,-1},{1,0}},{{0,-I},{-I,0}},{{0,-I},{I,0}},{{0,I},{-I,0}},{{0,I},{I,0}},{{0,1},{-1,0}},{{0,1},{1,0}},{{-I,0},{0,-I}},{{-I,0},{0,I}},{{I,0},{0,-I}},{{I,0},{0,I}},{{1,0},{0,-1}},{{1,0},{0,1}}};
H={{{1,0},{0,1}},{{I,0},{0,I}},{{-1,0},{0,-1}},{{-I,0},{0,-I}}};
K={{{1,0},{0,1}},{{0,1},{1,0}},{{0,-I},{I,0}},{{I,0},{0,-I}},{{0,-1},{-1,0}},{{-1,0},{0,-1}},{{-I,0},{0,I}},{{0,I},{-I,0}}};
MatrixForm /@ G
MatrixForm /@ H
MatrixForm /@ K
{SubsetQ[G, H], SubsetQ[G, K]}
(*{True, True}*)
A tool which generates the multiplication table of a group given as a list of matrices:
ClearAll[mymulttab];
multtab[G_List]:=Module[{n=Length[G]},Grid[Table[Position[G,G[[i]].G[[j]]][[1,1]],{i,n},{j,n}]]];
multtab[H]
Grid[GroupMultiplicationTable[CyclicGroup[4]]]
% === %%
(* True *)
multtab[K]
Grid[GroupMultiplicationTable[DihedralGroup[4]]]
% === %%
(* True *)
So, H is isomorphic to C_4 and K is isomorphic to D_4.
From now on, let us check the condions 1 and 2 of "internal central product" (of Wikipedia page cited in the comment).
Condition 1 : G is generated by H and K.
Union[G] === Union[Flatten[Outer[Dot, H, K, 1], 1]]
(* True *)
Condition 2 : Every element of H commutes with every element of K.
Union[Flatten[Table[y.x == x.y, {x, H}, {y, K}]]]
(* {True} *)