if (SG%getuseHallSG().eqv..FALSE.) then
ipx = kij(1,ik)
ipy = kij(2,ik)
ipz = kij(3,ik)
else ! we are using the Hall space group symbols so extract (ipx, ipy, ipz) from unit k
! first transform to the Cartesian frame
call cell%TransSpace(karray(1:3,ik), kkk, 'r', 'c')
call cell%NormVec(kkk,'c')
L = Lambert_T( xyzd = kkk )
if (usehex) then
ierr = L%LambertSphereToHex(sxy)
else
ierr = L%LambertSphereToSquare(sxy)
end if
ipx = nint(sxy(1)*scl)
ipy = nint(sxy(2)*scl)
ipz = merge(1, -1, kkk(3) .ge. 0.0)
end if
Hi Marc,
When Hall space group is enabled (
SG%getuseHallSG() == .TRUE.) and the crystal system implies hexagonal sampling (usehex=.TRUE.), the code derives pixel indices(ipx, ipy)from the square Lambert projection but later applies symmetry treating those indices as hex Lambert coordinates. The grid mismatch leaves regularly spaced pixels unwritten, which appear as a lattice of black pixels in the master pattern output.Proposed fix