An x-ray or gamma-ray source having: - an electron source configured in operation to generate a train of spaced electron bunches; - an RF linear accelerator adapted to accelerate said electron bunches, which are directed along a path into a laser-electron beam interaction region; and - a laser system adapted to produce a laser pulse, the laser system is arranged so that the laser pulse is reflected into said path of the oncoming electron bunches to interact with the electron bunches, so that the laser-electron beam interaction region extends along said path, characterized in that: the transit time of each of the accelerated electron bunches through the laser-electron beam interaction region is both greater than the duration of the accelerated electron bunch and greater than the spacing between electron bunches; the laser system adapted to produce a laser pulse having a duration at least as long as a transit time of the laser pulse through the laser-electron beam interaction region, wherein the duration of the laser pulse is either: equal to the total length of the train of spaced electron bunches so that a single pass of the laser pulse through the laser-electron beam interaction region interacts with all of the accelerated electron bunches of the train; or some integer sub-multiple of the length of the train of the spaced electron bunches, and the laser system is arranged to recirculate the laser pulse through the laser-electron beam interaction region for a predetermined number of passes equal to an inverse of the sub-multiple; and thereby produce high flux beams of bright, tunable, polarized quasi-monoenergetic x-rays or gamma-rays via laser-Compton scattering. - an electron source configured in operation to generate a train of spaced electron bunches; - an RF linear accelerator adapted to accelerate said electron bunches, which are directed along a path into a laser-electron beam interaction region; and - a laser system adapted to produce a laser pulse, the laser system is arranged so that the laser pulse is reflected into said path of the oncoming electron bunches to interact with the electron bunches, so that the laser-electron beam interaction region extends along said path, the transit time of each of the accelerated electron bunches through the laser-electron beam interaction region is both greater than the duration of the accelerated electron bunch and greater than the spacing between electron bunches; the laser system adapted to produce a laser pulse having a duration at least as long as a transit time of the laser pulse through the laser-electron beam interaction region, wherein the duration of the laser pulse is either: equal to the total length of the train of spaced electron bunches so that a single pass of the laser pulse through the laser-electron beam interaction region interacts with all of the accelerated electron bunches of the train; or some integer sub-multiple of the length of the train of the spaced electron bunches, and the laser system is arranged to recirculate the laser pulse through the laser-electron beam interaction region for a predetermined number of passes equal to an inverse of the sub-multiple; equal to the total length of the train of spaced electron bunches so that a single pass of the laser pulse through the laser-electron beam interaction region interacts with all of the accelerated electron bunches of the train; or some integer sub-multiple of the length of the train of the spaced electron bunches, and the laser system is arranged to recirculate the laser pulse through the laser-electron beam interaction region for a predetermined number of passes equal to an inverse of the sub-multiple; and thereby produce high flux beams of bright, tunable, polarized quasi-monoenergetic x-rays or gamma-rays via laser-Compton scattering.